2011-08-04 60 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.
    域,协议和端口必须匹配:

    除非你想与像一个讨厌的错误呈现。