私は別のフレームから関数を呼び出そうとしていますが、私はdomの権利を旅行することができません?私は何か間違っているのですか?内部フレームへのアクセス方法Html?
indes.htmlコード:のtop.htmlで
<frameset rows="25%, 75%">
<frame src="top.html"></frame>
<frameset cols="50%, 50%">
<frame src="frame_left.html" name="left_frame">
<frame src="frame_right.html" name="right_frame">
</frameset>
</frameset>
私が持っている:私が持っている
<body>
<h1>Top Frame</h1>
<button onclick="clicked()">Click me !</button>
<script type="text/javascript">
function clicked() {
console.log("you clicked");
console.log(top.frames["left_frame"].left());
}
</script>
</body>
frame_left.html:
<body>
<h3>Frame left</h3>
<script type="text/javascript">
function left() {
console.log("You called the left function from left frame");
}
</script>
</body>
を私はこのエラーを取得する:
top.html:12 Uncaught SecurityError:Bl原点「null」を持つフレームに、原点「null」を持つフレームへのアクセスからockedプロトコル、ドメイン、およびポートは一致する必要があります。
ブラウザでこれらのテストページをHTTP、またはファイルプロトコル経由でどのように呼び出していますか?エラーメッセージは、後者である可能性があることを示します。私は開発とテストのためのローカルWebサーバを設定することをお勧めします(初心者のためのWAMP/MAMPのようなものです)。 – CBroe
いいえ、それは単なるHTMLです。クロムを使用してファイルを開きます。 DOM操作でアクセスすることはできませんか? @CBroe – Beto
あなたがローカルファイルとしてそれらを開くだけであれば、多くのブラウザはJavaScriptができることに関してはより厳しい規則を適用します。 HTTP経由でこれらのページを呼び出すと、その問題はなくなるはずです。 – CBroe