【问题标题】:How to define javascript variable from within a iframe如何从 iframe 中定义 javascript 变量
【发布时间】:2013-08-16 09:13:16
【问题描述】:

我有一个 iframe,需要更改父页面中的全局变量。

我试过了

parent.myvar = "myvalue";
parent.myfunction();

但是,它对我不起作用。函数执行,但变量保持不变。

编辑:iframe 和父级都在同一个域中。

【问题讨论】:

  • 是的,两者都在同一个域中
  • 您的代码按原样运行。如果您使用 Chrome 并在本地机器上运行它,您需要查看 this SO answer。另请注意,iframe 中的函数可能不会在您在主窗口中使用 myvalue 时执行。例如,如果您在主窗口中的 $(document).ready(); 中阅读了 myvalue,或者在关闭 body 标记之前放置了解析时执行的脚本,则会出现这种情况。

标签: javascript iframe parent


【解决方案1】:

如果 iframe 和主文档不在同一个域中,则不可能。

如果 iframe 和主文档在同一个域中,您可以访问它们的全局变量。试试这个吧。

document.getElementById('iframeid').contentWindow['myvar'];

【讨论】:

    【解决方案2】:

    该代码没有任何问题:https://stackoverflow.com/a/1301645/390330

    // set the global variable 'foo' in the parent global scope
    parent.foo = 'bar';
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-01-28
      • 2015-10-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-08-05
      相关资源
      最近更新 更多