【问题标题】:Run javascript function which is inside iframe?运行 iframe 内的 javascript 函数?
【发布时间】:2014-10-15 03:58:56
【问题描述】:

我正在尝试运行位于 iframe 内的 javascript 函数。

<script>
document.getElementById('myFrame').contentWindow.setupCookie()
</script>

<iframe id="myFrame" src="iframe.html"></iframe>

iframe.html

<script>
function setupCookie() {
    document.cookie = "guvenli=1";
}
</script>

<center style="margin-top:200px;">
            <a href="javascript:;" 
    onClick="setupCookie(); location.href='/index.php'">Enter Site >></a></center>

这样做的正确方法是什么?

【问题讨论】:

  • 你有什么工作吗?您可能需要等到 iframe 加载才能调用setupCookie()
  • 这是正确的方法。 + stackoverflow.com/questions/1600488/… 问题可能是因为当 iframe 不存在(它位于寻址它的行下方)或内容未加载时,您尝试访问它。

标签: javascript jquery


【解决方案1】:

您的方法是正确的,但您的 iframe 需要加载才能使用 Javascript 引用它。

您应该等待 DOM 内容加载

document.addEventListener("DOMContentLoaded", function(event) {
    document.getElementById('myFrame').contentWindow.setupCookie();
});

【讨论】:

  • 为什么这个监听器附加到当前窗口的document而不是iframe
  • 因为 iframe 是文档的一部分,在文档加载之前不存在。
【解决方案2】:

以上每cmets:

document.addEventListener("DOMContentLoaded", function(event) {
  document.getElementById('myFrame').contentWindow.setupCookie();
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-19
    • 1970-01-01
    • 1970-01-01
    • 2021-04-25
    • 2016-05-28
    相关资源
    最近更新 更多