如何从主选项卡运行功能的新选项卡?(谷歌Chrome)
How to run function on new tab from main tab? (Google Chrome)
我需要打开控制台并在新选项卡上运行一个函数,我使用javascript打开了这个函数。打开部分很容易,但如何在其他选项卡上运行功能?
var google = window.open("http://google.com")
在阅读你的问题时,似乎你正在寻找打开开发控制台的弹出窗口?假设这就是你正在寻找的,你应该能够右键单击弹出的窗口并点击"Inspect Element"。然后从那里进入控制台。
如果你想通过编程的方式在弹出窗口中从父窗口运行一个函数,这里有一个好主意。
假设新窗口与您的窗口在同一域中,此解决方案可能适用于您。(浏览器支持有限)
在父页:
//store the function in localStorage
localStorage.runThis = function(){ alert("Hello world"); }
//open the popup window
newWindow = window.open("http://your-domain.com/your-page");
在弹出窗口中打开的页面:
//check if the function has been stored
if(typeof localStorage.runThis === "function"){
//run the function in localStorage
localStorage.runThis();
}
一个问题是该方法依赖于满足以下条件:
- 浏览器支持localStorage
- 父页面和弹出页面来自同一来源
- 弹出页面必须实际查找有问题的函数并执行函数本身
这样做的一个缺点是,如果有人要去Javascript控制台并将自己的函数设置为localStorage,弹出页面将看到他们的函数并运行潜在的危险代码-一个安全漏洞。
一个常见的解决方案是使用本地存储。
if (typeof(Storage) !== "undefined") {
// Code for localStorage/sessionStorage.
localStorage.setItem("lastname", "Smith");
var lastname = localStorage.getItem("lastname");
} else {
// Sorry! No Web Storage support..
}
相关文章:
- 从选项页面更新chrome扩展清单权限
- 单击Chrome通知后,转到已打开的选项卡
- 如何在Google chrome安全首选项文件中创建扩展安全哈希代码
- 更改Chrome扩展中的选项卡位置
- 如何重定向当前选项卡'Chrome扩展中的url
- 在Chrome for iOS中,附加到用户代理字符串的唯一选项卡ID
- chrome中的onmouseover(下拉选项标记)事件不起作用-php,javascript
- 更新选项卡开关/更改上的chrome扩展图标
- 关闭当前选项卡并打开一个新的-仅适用于Chrome
- Chrome扩展插件:runtime.last运行tabs.get/tabs.remove时出错:没有id为0的选项卡
- 在Chrome中的适当选项卡/窗口中打开URL
- 强制 window.open() 在 chrome 中创建新选项卡
- Chrome 打开选项卡与窗口.打开
- 引导导航选项卡在小提琴中工作,但在使用 Chrome 打开时则不工作
- 从Javascript中的Chrome扩展获取选项卡url
- Chrome扩展-仅更改活动选项卡的default_icon
- 如何从Google Chrome扩展中观察选项卡中的更改
- 从弹出窗口打开chrome选项
- Chrome:在用户打开一个选择后添加选项
- 转义脚本标签内的选择框选项(Chrome)