Webページ が表示されないときの対処法

この記事は約2分で読めます。
sponsored link

Tableauでパブリッシュ後に埋め込んだWebページが表示されないときの対処法

※この記事は「Tableau DesktopでWebページのオブジェクトを埋め込んだのに、Tableau Server / Onlineにパブリッシュしたら表示されなくなった」という方が対象です。

Tableau公式の推奨

まず困ったことがあれば、Tableau公式のナレッジベースを確認します。

公開後に Web ベース URL の空白にリンクされた Web ページ オブジェクト | Tableau Software

ここに記載されている解決策は以下のようにまとめることができます。

  1. そもそもWebページオブジェクトを使わない方法を考える
  2. ダッシュボード内でWebページを表示させるのでは無く、別のページに遷移させる仕様にする。
  3. URLの末尾に「?:linktarget」を追加することで、新しいページに強制的に遷移させる。

公式の見解としては、WebブラウザとWebサイトのセキュリティの問題だから別の方法考えましょうね〜とのことです。

ただ私はダッシュボードのデザイン上、どうしてもWebページを埋め込みたかったので公式とは別のやり方を模索することにしました。

結論

URLの末尾に「embed」と入力する。

例えば「https://www.yonaha.info/」というサイトを埋め込みたい場合には、URLを「https://www.yonaha.info/embed」に変更してあげれば良いです。

原因

そもそもWebページオブジェクトをTableau Server / Online / Publicから閲覧しに行く際、ブラウザ側からするとiframeのエレメントとして読み込まれます。

iframeに読み込まれるページのWebサーバーでsameorigin-policyが設定されている場合、すなわちiframeの利用が制限されている場合、外部コンテンツであるWebコンテナで読み込むことができません。

つまり、iframeを利用せず通常通りリクエストを送るような設計をする、すなわち普通にhttps:~~を読み込む必要があるので「Tableau公式としては別ブラウザに飛ばしましょう」というわけです。

しかし、どうしてもダッシュボードに埋め込みたいTomは「iframe使います宣言すればいいんじゃね?」と思い、URLの末尾に「embed」という文字を入れたところ解決することができました。