gpt4 book ai didi

javascript - 在新窗口中运行 Javascript.open

转载 作者:搜寻专家 更新时间:2023-11-01 04:50:07 25 4
gpt4 key购买 nike

我正在运行此功能以打开一个新窗口。

function htmlNewWindow(id) {
var html = $(id).html();
var newWindow = window.open('');
newWindow.document.body.innerHTML = '<html><head><title>Hi</title> <script src="js/myScript.js"></script> </head>' + html;
}

这成功地创建了一个包含 HTML 的新窗口。我有一堆 HTML 标签,单击它们会运行一个名为 Foo1 的函数。我已经尝试将 Foo1 的整个功能打印到新的 HTML 文档中,并尝试将 Foo1 放入 myScript.js 中。我在新窗口的脚本标记内看到了两个 Foo1,但都没有加载,因为它们只是作为 HTML 写入新页面。

最佳答案

.innerHTML 添加的脚本不会被执行。您需要创建一个 script 节点并将其附加到窗口的 DOM。

$("#button").click(newWindow);

function newWindow(id) {
var html = $(id).html();
var win = window.open('');
win.document.head.innerHTML = '<title>Hi</title></head>';
win.document.body.innerHTML = '<body>' + html + '</body>';
var script = document.createElement('script');
script.src = 'js/myScript.js';
win.document.head.appendChild(script);
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button id="button">Click me</button>

这不会在 Stack Snippet 的沙箱中运行,这是一个有效的 jsfiddle .

关于javascript - 在新窗口中运行 Javascript.open,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32357312/

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