gpt4 book ai didi

javascript - 在 IFrame 中运行 JS 函数

转载 作者:行者123 更新时间:2023-11-28 01:35:41 26 4
gpt4 key购买 nike

我使用 Mootools 动态创建了一个 iFrame。在我的 iFrame 中,我想执行一个函数来自动填充它。到目前为止,我有以下代码:

    var mApp = this.app;
var iframe = new Element('iframe', {
'src' : 'frame_fittingbox.html',
'style' : 'height:100%;width:100%;background:transparent;border:none;',
'events' : {
'load' : function() {
var doc_iframe = (iframe.contentWindow) ? iframe.contentWindow : (iframe.contentDocument.document) ? iframe.contentDocument.document : iframe.contentDocument;
doc_iframe.run(mApp, 'demo'); // FittingBox account
},
},
});

var container = this.app.page();
iframe.inject(container);

在 iFrame 中,我有该代码:

<html>
<head>
<script src="./app/components/exported_jsfile.js" />
<script>
function run(app, account) {
document.write('\x3Cscript type="text/javascript" src="http://my.website.com/js/' +account+ '/jsfile.js">\x3C/script>');

var customClass = new My_Custom_Class(app, document.body);
customClass .open();
}
</script>
</head>

<body>
Loading ...
</body>
</html>

它不起作用,因为从未调用 run 函数。在控制台中,我收到以下消息:Uncaught TypeError: Object [object global] has no method 'run'。我做错了什么?

感谢您的宝贵帮助。

最佳答案

解决方案是在父框架中使用回调。因此,当您需要执行操作时,请使用以下代码:

parent.window.parent.actionFromParent();

关于javascript - 在 IFrame 中运行 JS 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21572988/

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