2011-08-04 9 views
1

iは2つの埋め込みページ通過JavaScriptのグローバル変数は、ツールバー(jQueryのUI)である

<body> 
    <embed src ="toolbar.html" type="application/xhtml+xml" width="485px" height="60px"> 
    <embed src="editor.svg" type="image/svg+xml" width="595px" height="842px"> 
</body> 

第たHTMLページが埋め込むこと 第二は、SVGとXMLページでありますそれ。 両方のページにスクリプトがあります。 スクリプトに定義された変数をツールバーからsvgに渡す方法はありますか?

またはそれが不可能な場合:

が埋め込まれたページに、現在のドキュメントで定義された変数を渡す方法はありますか?

答えて

1
  1. 事前に

    TNXは終了タグを忘れてはいけない、iframe要素にembed要素を回し

    W3 - Technical Review - HTML 5 - The embed element

    言及embed要素は、外部(典型的には非HTML)アプリケーション、または対話型コンテンツの統合ポイントを表します。

    ので、あなたはむしろiframe要素の代わりに、embed要素を使用する必要があり、whichは言及:

    をiframe要素は、ネストされたブラウジング・コンテキストを表します。 a browsing context is definedように

    ブラウジングコンテキストは、ドキュメントオブジェクトがユーザに提示されている環境です。

  2. メインページで使用するスクリプトでグローバル変数を宣言できます。

    あなたがwindow.parent.myvariableを使用してのiframe内から変数にアクセスすることができます

  3. var myvariable;と同じくらい簡単です。など

    The DOM object window.parent is defined

    は、現在のウィンドウまたはサブフレームの親への参照を返します。

    ウィンドウに親がない場合、その親プロパティはそのウィンドウへの参照です。

    <object>、または<frame>にウィンドウをロードすると、その親はウィンドウを埋め込んでいるウィンドウです。

    短縮版はparent.myvariableを使用し、windowはルートDOMオブジェクトです。

  4. 異なる文書のドメイン、プロトコル、およびポートが一致していることを確認してください。

    次のような厄介なエラーで提示されるべき場合を除き:

    URLのY.
    ドメイン、プロトコルおよびポートにフレームからURLをXとフレームにアクセスするための安全でないJavaScriptの試みが一致している必要があり

関連する問題