4

フレームセットとヘッドタグで定義されたいくつかのjavascriptを含むドキュメントがある場合、つまり次のようなものです:

<html>
 <head>
  <script>
     function foo() {}
  </script>   
 </head>
 <frameset>
    <frame src="A.html">
 </frameset>     
</html>

フレーム (A.html) がその親のイベント ハンドラーの前に onLoad イベント ハンドラーを起動することを既に想定しています。私はそれが安全な仮定であるとほぼ確信しています。しかし、A.html のスクリプト コンテキストが、親ウィンドウの head で定義されたすべてのスクリプト コードに安全にアクセスできると仮定しても安全でしょうか?

どのような仮定を立てることができますか?

4

2 に答える 2

1

このページによると、フレームの親フレームセットドキュメントを参照するオブジェクトであるのスクリプトに安全にアクセスできます。

少しのローカルテストから、親のonloadイベントは発生していないようですが、そのスクリプトタグはすべて、子フレームがロードされる前に処理されているようです。

フレームセットは最近眉をひそめているので、それが正しいアプローチであることを確認してください。

于 2009-03-23T19:21:31.703 に答える
1

フレーム スクリプトは、参照を介して親の JS スペースにアクセスできparentます。(ただし、2 つのドキュメントが同じホスト上にある場合に限ります。これは、簡略化された例にあります)。

Philが述べたように、スクリプトが最初に処理されますが、インライン スクリプトの評価はブロック操作であるためです。

于 2009-03-25T06:30:28.093 に答える