
いつもお世話になります。
物凄くまとめてしまってすみません。
window.onload = alert(document.getElementsByTagName("body")[0].getElementsByTagName("iframe")[0].contentWindow.document.innerHTML);
というようなスクリプトを実行しているのですが、未定義(undifined)が表示されてしまいます。
もちろんbodyないにちゃんとしたsrcを指定したiframeはあります。
どのようにすればいいでしょうか。
よろしくお願いします。
No.3ベストアンサー
- 回答日時:
iframeはIEとMozilla(FireFoxなど)とで扱い方が異なりますので、ブラウザ判定が必須です。
var doc; // インラインフレームのドキュメント
if (document.all) {
// IE
doc = frames[iframeのid].document;
} else {
// Mozilla
doc = document.getElementById(iframeのid).contentDocument;
}
alert(doc.innerHTML); // iframe内のHTMLを表示
alert(doc.body.innerHTML); // body内のHTMLを表示
こんな感じでHTMLを取得できます。
No.2
- 回答日時:
document.getElementsBy('iframe')[0].contentWindow.length
はfirefoxで0を返すので
contentWindow.document.innerHTML
はundifinedを返すのかな?
document.getElementsByTagName('iframe')[0].innerHTML
ではiframeタグ内のHTMLを返しますね。
frames[0].document.getElementsByTagName('*')[0].innerHTML
でiframeで表示されているドキュメントの最初のタグ内のHTMLを返しますが、IE6ではdoctype宣言を!タグとするようなので少々不都合があるようです。
frames[0].document.getElementsByTagName('*')[0].nodeName
を実行しますと#commentを返すのでたぶんコメントとしているのでしょう。
frames[0].document.getElementsByTagName('*')[0].nodeValue
を実行するとその内容を返します。
から
IE6では
var souce = ""
var obj = frames[0].document.getElementsByTagName('*')
if(obj[0].tagName != "HTML"){
souce += '< ' + obj[0].nodeValue + '>' + '<html>' + obj[1].innerHTML + '</html>'
}else{
souce += '<html>' + obj[0].innerHTML + '</html>'
}
alert(souce)
とするとソースを返すかもしれません。
No.1
- 回答日時:
フレーム名を付けて参照したら?
iframeは埋め込まれているけど親のhtml内じゃない扱いだから。
フレーム名が F1 だとして
document.F1.getElemetsByTagName・・・・・・だと思う(未検証
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- HTML・CSS 自身のHPにYouTube動画を貼り付けるのが出来なくなり困ってます 1 2022/11/11 10:44
- HTML・CSS (Javascript)印刷するファイルに応じて印刷プレビュー画面で用紙を自動的に切り替えたい!! 2 2022/04/11 12:04
- JavaScript Javascript初心者|jQueryの.val()で値を取得し複数の要素を連結させる方法知りたい 2 2022/06/02 12:06
- JavaScript javascriptで変数を組み込みたい 2 2023/01/13 09:52
- JavaScript ifreamをリロードしたい 1 2022/05/03 16:15
- JavaScript clear機能を失わずにファイルアップロード機能を作成したい 3 2023/06/10 16:12
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- HTML・CSS ボタンをクリックした時に、入力フォームのすぐ下部に、「入力欄が空白です」というテキストメッセージが表 1 2022/04/27 16:25
- Excel(エクセル) フォルダ内のワードファイルをPDFに一括変換するVBA 3 2023/06/09 16:51
- HTML・CSS flex の各子要素を横幅 100% にしたい 1 2022/09/22 21:25
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
マウスオーバー時の文字サイズ
-
リストボックスの条件
-
選択した部分を新しいウィンド...
-
JavaScriptでPOSTで自ウィンド...
-
乗換案内 VBAで操作したい
-
head内から外部jsにするとスク...
-
cookieの操作について
-
setTimeoutで引数を渡したいの...
-
[JS] eventListener
-
特定ページから遷移した時にア...
-
マウスオンで説明文をページの...
-
連動するセレクトボックスの内...
-
VBの記述方法はVBAと同じなので...
-
HPで...。
-
vbaでnanacoにログイン(ie操作)
-
jQueryで右クリック禁止後に再...
-
一つ少ないmyFORM.length
-
ie=!!document.all
-
ブログ
-
getElementByIdでonClick内を書...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
JavaScript window.openで開く...
-
乗換案内 VBAで操作したい
-
onClickイベントの変更方法
-
TexでΣの添え字の位置直し
-
javascriptの基本的なことだと...
-
Latexに関する質問です。
-
サブウィンドウに背景色をつけ...
-
XMLでのAttributeを持ったNode...
-
excle VBA とweb上の検索を利用...
-
javascriptのdocument.allにつ...
-
スマホでフォームにフォーカス...
-
Null またはオブジェクトではあ...
-
ラジオボタンでreadonlyの切替え
-
文字がマウスカーソルを追従す...
-
LaTeX:数式を等号揃えにする方法
-
選択によってsubmitボタンの色...
-
UWSCでオンクリックのボタンを...
-
VBAのIE操作でframe構造のサイ...
-
DOM要素を削除しても、イベント...
-
webページ上のTabキーの動き
おすすめ情報