申し訳ありませんが、これをキーワードで検索するための適切な用語がわかりません...
そこで、初心者向けの簡単な演習として、「test.html」というファイルを (デスクトップ上に) 作成して、ブラウザにロードしてページに表示されるボタンをクリックすると、ウィキペディアのメイン ページの記事数がカウントされるようにしてみました。ボタンの下のページに表示されます。
誰かが私にiframeを使ってみるように言ったので、私はこれを思いつきました:
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript"">
function get_count(){
var articlecount = document.getElementById("wiki_page").contentWindow.document.getElementById("articlecount").getElementsByTagName("a")[0].innerHTML;
document.getElementById("put_number_here").innerHTML = articlecount;
}
</script>
</head>
<body>
<iframe id="wiki_page" style="display:none" src="http://en.wikipedia.org/wiki/Main_Page"></iframe>
<input type="button" onclick="get_count()" />
<p id="put_number_here"><p>
</body>
</html>
動作しません。これをスクラッチパッド (Firefox 17 を使用) でテストすると、次のようになります。
var x = document.getElementById("wiki_page").contentWindow.document.getElementById("articlecount").getElementsByTagName("a")[0].innerHTML;
alert(x);
/*
Exception: Permission denied to access property 'document'
@Scratchpad:10
*/
(そして直接alert(document.getElementById("articlecount").getElementsByTagName("a")[0].innerHTML);
完全に機能http://en.wikipedia.org/wiki/Main_Page
するので、それが問題ではないことはわかっています。ウィキペディアのメインページのソースを新しいファイル「test2.html」にコピーし、それをiframeのsrcとして設定しても機能します。)
私はこれを完全に間違った方法でやろうとしていますか?