尝试使用新窗口的控制台

trying to use console of a new window

本文关键字:窗口 控制台 新窗口      更新时间:2023-09-26

我是JS的初学者,我被以下函数卡住了。

我正在尝试打开一个新窗口,并在新窗口的控制台中打印。我的代码如下:你能告诉我错误在哪里吗?

var newWindow = window.open("url");
newWindow.onload = function (newWindow) {
  newWindow.console.log("...something...");
}

代码之后

var newWindow = window.open("url");

它应该立即打开另一个具有"url"路径的窗口。之后发生的是"url"页面的工作领域。在这个页面中,你应该有类似于的文档准备功能

newWindow.onload = function (newWindow) {
    newWindow.console.log("...something...");
}

可以是简单的jQuery函数

$( document ).ready(function() {
    console.log( "ready!" );
});
<html>
<script>
function myFunction() {
var myWindow = window.open("", "MsgWindow", "width=200, height=100");
myWindow.document.write("<p>This is 'MsgWindow'. I am 200px wide and 100px tall!</p>");
}
myFunction();
</script>
</html>

在HTML文件中编写此代码并运行它,确保弹出窗口没有被阻止。

您想要从代码中获得的结果是不可能的。让我们调用执行javascript的窗口window 1,并打开一个新窗口window 2。现在,window 2既没有js代码的引用,也没有onload事件。window 2的onload事件正在window 1实例上激发。因此,您在window 1实例中而不是在window 2中获得控制台日志。

window 1实例见fiddle控制台。

如果你要创建一个具有相同域(或没有url)的新窗口,你可以很好地使用控制台:

var newWindow = window.open("");
newWindow.console.log("test");

示例:https://jsfiddle.net/8p2fk4j0/(禁用弹出窗口阻止)