1. ホーム
  2. ジャバスクリプト

[解決済み】iFrame 内の要素を取得する。

2022-04-16 11:57:57

質問

を取得する方法は? <div> の中から <iframe> ?

解決方法は?

var iframe = document.getElementById('iframeId');
var innerDoc = (iframe.contentDocument) ? iframe.contentDocument : iframe.contentWindow.document;

もっとシンプルに書いてもいいんじゃない?

var iframe = document.getElementById('iframeId');
var innerDoc = iframe.contentDocument || iframe.contentWindow.document;

で、最初の有効な inner doc が返されます。

inner docを取得したら、現在のページ上の任意の要素にアクセスするのと同じ方法で、その内部にアクセスすればよい。( innerDoc.getElementById ...など)

重要なこと iframeが同じドメイン上にあることを確認してください。そうでなければ、その内部にアクセスすることはできません。そうでなければ、その内部にアクセスすることはできません。これはクロスサイトスクリプティングになります。