*

iframe内のjavascriptを無効にする方法

公開日: : ノウハウ

iframe-javascript

html の iframe(インラインフレーム)とは、一つのページ内に小窓を作ってその内部に別ページや別サイトを表示させるタグです。iframe 内のページは自分で作る事もありますが、他の人が作る事もあります。どういう事かと言うと、ページ内に Google マップを埋め込む時、Youtube のプレイヤーを埋め込む際に使われるのも iframe なのです。iframe 内を自分で作った場合は自由に弄る事ができますが、他人(別サイト)が作った場合は内部を自由に触る事はできません。

という事で本題ですが、iframe 内で動作する javascript を無効にしたいという必要性が出てきました。iframe 内は別サイトだったので自由に触る事はできません。ブラウザでは閲覧者が自由に javascript のオンオフを切り替える事ができます。それと同様にウェブサイトでも iframe 内の javascript のオンオフを切り替えられないだろうか?と考えました。

実はそんな方法がありました。

iframeのsandbox属性

<iframe src="URL" sandbox />

iframe タグに html5 から新しく追加された sandbox 属性を使用します。sandbox 属性を追加すると、その iframe 内のコンテンツは全てのスクリプトが無効化され、フォームやリンクすらも無効化されます。

sandbox 属性は iframe 内の悪意のあるコンテンツからの攻撃を避ける為に作られたものです。サイト制作者の判断で、iframe 内の javascript を無効にする事が可能になります。

しかし、javascript もリンクすらも無効化されてしまうのでこのままでは使いにくいかもしれません。sandbox 属性にはこの iframe 内の制限を緩める方法があります。

iframeの制限を緩める方法

  • allow-forms:スクリプトの実行を許可
  • allow-forms:フォームの実行を許可
  • allow-top-navigation:同ウィンドウで開くリンクを許可
  • allow-popups:別窓で開くリンクを許可

制限を緩める項目はいくつかありますが、使いそうなものだけ列挙してみました。これは以下のように指定して使います。

<iframe src="URL" sandbox="allow-top-navigation" />

これで iframe 内の javascript は無効にするけどリンクは許可するというような柔軟な制限方法が実現できます。

<iframe src="URL" sandbox="allow-top-navigation allow-popups" />

このように複数の属性を指定する事も可能です。

ただし、この sandbox 属性は Internet Explorer 9 以下では対応していません。

  • Pocket

おすすめトピックス

関連記事

画像付きリスト
関連記事などに画像付きリストをCSSで簡単に作るサンプル

画像つきリストとは上図のようなイメージです。しばしばブログなどでは関連記事や人気記事の表示などに使われている事が多いですし、インターネットショッピングサイトではサイドメニューの商品カテゴリリストに採用されています。 ポイ […]

これを見れば簡単!スマホサイトのフッターメニューをサクッと作るサンプル

スマートフォンなどのモバイル端末でウェブサイトを見る人が急増し、今の時代スマートフォン用サイトを作る事が当たり前となりました。スマホ用に別の html ファイルを用意するより一つの html で両方に対応するレスポンシブ […]

画像のALT属性に文字を入れる気にならないのは画面に表示されないからだと思う

画像の ALT 属性って知っていますか?ALT 属性とは画像に付加するテキスト情報で、画像について手短に説明したテキストを入力する事が望ましいです。画像が表示されない時に何の画像かわかる為の代替テキストとして、音声読み上 […]

プレースホルダ
検索窓に薄い文字を入れて何を入力するのか分かりやすくするプレースホルダ

ネット上で何かを検索したい時、どこを見ますか? そう、検索窓ですよね。検索窓は EC サイトやネットショップ、何かを検索する必要があるウェブサイトには大概付きものでお馴染みのものです。 たまに見るのが検索窓に薄い文字で予 […]

動く炭酸
飲み物の写真がリアルに動き出す!フリーソフトSizzTassの使い方

知り合いに聞いたのですが、「料理の写真からぐつぐつと煮えたぎる写真を作れるソフトがあるらしいよ。テレビでやってた。」と。最初は何だそれは?と思って意味がよく理解できませんでした。 ソフト名を聞いて調べてみたのですが、確か […]

スマホサイト
プラグイン無しで簡単に実現するスマホサイトの上からドロワーメニューの作り方【jQuery】

近年どこでもスマートフォン向けサイトが用意されているのが当たり前です。スマートフォンを使っていればいつも何気なしにスマートフォンサイトを見ていると思います。 そのスマートフォンサイトをちょっと思い出してみてください。 こ […]

著者について

名前:Azell
作曲したり風景写真撮ったりWeb制作したりする人です。 好きな事を楽しくブログに綴れていけたらと思います。

フォローはこちら

       

       
300円カレー
カレーが300円!?長浜駅前にある激安カレー屋「SUNカリー部」えきまちテラス長浜内

滋賀県の長浜駅東口の前、一等地とも言える場所に激安なカレー屋が

divタグ
div要素のクラス名をnth-childの擬似クラスで何番目を指定しても効かない

CSS3 が登場して擬似クラス nth-child が使えるよ

PhotoshopなどAdobeソフトのシリアル番号を忘れたり紛失した場合

Photoshop など Adobe ソフトのシリアル番号はイ

メルカリのうるさすぎる不要なプッシュ通知を止める

CM でも放送されている誰でもかんたんフリマアプリとして代表的

シーリングファン
天井に取り付けられるプロペラ「シーリングファン」の意味とは?

天井が高いカフェやオフィスなどでたまに天井に取り付けられている

→もっと見る