Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/439.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 更改新打开选项卡的背景色_Javascript - Fatal编程技术网

Javascript 更改新打开选项卡的背景色

Javascript 更改新打开选项卡的背景色,javascript,Javascript,我正在使用以下命令在新选项卡中打开文件: 这会在新选项卡中打开文件。但是我想更改这个新打开的选项卡的背景色。关于如何实现这一点有什么建议吗?不要以这种方式打开新窗口,因为您将无法控制它。相反,请使用window.open(),它将返回对该窗口的引用,以便您可以访问它 下面的代码可以做到这一点,但在堆栈溢出代码段环境中不起作用。您可以看到它工作正常 document.getElementById(“newWin”).addEventListener(“单击”,函数(){ var win=win

我正在使用以下命令在新选项卡中打开文件:


这会在新选项卡中打开文件。但是我想更改这个新打开的选项卡的背景色。关于如何实现这一点有什么建议吗?

不要以这种方式打开新窗口,因为您将无法控制它。相反,请使用
window.open()
,它将返回对该窗口的引用,以便您可以访问它

下面的代码可以做到这一点,但在堆栈溢出代码段环境中不起作用。您可以看到它工作正常

document.getElementById(“newWin”).addEventListener(“单击”,函数(){
var win=window.open('/code/some_file.cpp');
addEventListener(“加载”,函数(){
win.document.body.style.backgroundColor=“黄色”;
});
});

单击我
不允许干扰浏览器GUI,所以您不能这样做。@Pierre当然可以。请参阅下面我的答案和小提琴的链接。标签不是页面的背景!对我来说,选项卡是屏幕顶部的小矩形,浏览器在其中显示页面标题。而且这东西不能被设计成样式。因此,如果我们理解我们所说的内容(标签,而不是页面背景),我的答案是正确的@Pierre,这不是OP所问的。你对这个问题的理解太直截了当了。对许多人来说,标签意味着一个窗口。毕竟,
window.open()
会打开另一个选项卡。当OP说“这确实在一个新的选项卡中打开了文件”时,很明显他的意思是
window
@AlonEitan确实如此。这是标准的有100年历史的代码,可以在每个浏览器中使用。正如我在回答中所说的,它在SO中不起作用(由于安全沙箱),但是转到Fiddle链接,您将看到它工作得很好。你可能有一个弹出窗口拦截器阻止新窗口打开。哦,对了,在隐姓埋名中是这样的,但我认为它是关于标签本身的背景,但如果它是关于主体的背景,那么它就是works@DimiAnsari别忘了投票并标记为答案。我已将代码更改为:
var win=window.open(“/code/some_file.cpp”);win.document.body.style.backgroundColor=“#333333”
。但是,背景仍然是白色的。@dimansari在
.cpp
文件中有CSS,它可能会覆盖
#333333
指令?如果是这样,您可能不得不将样式延迟到页面加载完成之后。