2011-08-04 58 views
1

我有2嵌入頁傳遞的javascript全局變量嵌入

<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頁面是一個工具欄(jQuery的用戶界面) 第二個是使用SVG中的XML頁面它。 這兩個頁面都有腳本。 有沒有辦法將腳本中定義的變量從工具欄傳遞給svg?

,或者如果這是不可能的:

是否有任何的方式來傳遞當前文檔中定義的嵌入頁面變量?

TNX提前

回答

1
  1. 打開embed元素融入iframe元素,不要忘了關閉標籤。

    W3 - Technical Review - HTML 5 - The embed element提到

    embed元素表示用於外部(通常是非HTML)應用程序或交互內容的集成點。

    所以你應該寧願使用iframe元素,而不是embed元素,which提到:

    iframe元素代表一個嵌套的瀏覽環境。

    其中a browsing context is defined爲:

    甲瀏覽上下文是在其中文檔對象被呈現給用戶的環境。

  2. 您可以在主頁面中使用的腳本中聲明全局變量。

    這很簡單,只要var myvariable;

  3. 您可以使用window.parent.myvariable一個iframe中訪問的變量。

    The DOM object window.parent is defined這樣:

    返回到當前窗口或子幀的父級的引用。

    如果窗口沒有父窗口,則其父窗口屬性是對自身的引用。

    當一個窗口加載到,<object><frame>中時,其父窗口就是窗口元素嵌入窗口。

    縮短版本是使用parent.myvariable,因爲window是根DOM對象。

  4. 確保不同文檔的域,協議和端口匹配。

    不安全JavaScript嘗試與URL X從幀幀訪問使用URL Y.
    域,協議和端口必須匹配:

    除非你想與像一個討厭的錯誤呈現。