繁体   English   中英

如何在主选项卡的新选项卡上运行功能? (谷歌浏览器)

[英]How to run function on new tab from main tab? (Google Chrome)

我需要打开控制台并在新选项卡上运行一个功能,该功能是使用javascrip打开的。 开头部分很容易,但是如何在其他选项卡上运行功能呢?

 var google = window.open("http://google.com") 

读完您的问题后,您似乎想为弹出窗口打开开发者控制台? 假设这是您要查找的内容,则只需右键单击弹出的窗口并单击“检查元素”即可。 然后从那里转到控制台。


如果您试图以编程方式将父级函数运行到弹出窗口中,那么这里就有个好主意。

假设新窗口与您位于同一域中,则此解决方案可能对您有效。 (浏览器支持有限)

在父页面上:

//check if the function has been stored
if(typeof localStorage.runThis === "function"){
    //run the function in localStorage
    localStorage.runThis();
}

在弹出窗口中打开:

 //check if the function has been stored if(typeof localStorage.runThis === "function"){ //run the function in localStorage localStorage.runThis(); } 

一个问题是该方法依赖于满足以下条件:

  • 浏览器支持localStorage
  • 父页面和弹出页面来自同一来源
  • 弹出页面实际上必须查找有问题的函数并执行函数本身

这样的一个缺点是,如果有人去Javascript Console并将自己的功能设置到localStorage中,则弹出页面将看到其功能并运行潜在危险的代码-一个安全漏洞。

常见的解决方案是使用localstorage

if (typeof(Storage) !== "undefined") {
  // Code for localStorage/sessionStorage.
  localStorage.setItem("lastname", "Smith");
  var lastname = localStorage.getItem("lastname");
} else {
    // Sorry! No Web Storage support..
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM