gpt4 book ai didi

javascript - 在父窗口的上下文中运行脚本

转载 作者:行者123 更新时间:2023-11-28 00:52:04 24 4
gpt4 key购买 nike

我想在父(iframe)窗口的上下文中运行 javascript。我可以完全控制 iframe 内容,但无法直接在父窗口中加载脚本。

用例:父页面包含菜单项,并根据菜单选择加载 iframe 内容。我需要在 iframe 中加载一个脚本并在父窗口的上下文中执行它,这样即使我在 iframe 中导航它也能保持事件/持久。相同的域。

image

DOM 脚本注入(inject)可以,但我想知道是否有更好的解决方案。

最佳答案

不确定此解决方案在您的情况下是否面临任何限制。尝试在您的 iframed 内容中加载 JS 脚本:

<script src="iframed.js"></script>

iframed.js内部:

// call function with context of parent window, and pass window and document as parameters. 
foo.call(window.parent, window.parent, window.parent.document);

function foo(window, document) {
// now you can access all globals from the main window:
var target = document.getElementsByTagName('iframe');
// logs collection of iframes from the main window:
console.log('iframes from main window:', target);
// global context is main window
console.log('global context: ', this);
}

关于javascript - 在父窗口的上下文中运行脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46800976/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com