Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/440.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
Google Chrome扩展在用Javascript打开的弹出窗口中工作吗?_Javascript_Google Chrome_Google Chrome Extension - Fatal编程技术网

Google Chrome扩展在用Javascript打开的弹出窗口中工作吗?

Google Chrome扩展在用Javascript打开的弹出窗口中工作吗?,javascript,google-chrome,google-chrome-extension,Javascript,Google Chrome,Google Chrome Extension,所以我正在创建一个扩展,它需要在由我的网站触发的弹出窗口中工作。。。标准Javascript function openwin(){ window.open('http://stackoverflow.com','myname','height=100,width=100'); } 现在我需要在该窗口中加载扩展。假设扩展的目的只是提醒一条消息,当我加载该窗口时,background.js应该启动并执行该操作,对吗?chrome.windows.create(object createD

所以我正在创建一个扩展,它需要在由我的网站触发的弹出窗口中工作。。。标准Javascript

function openwin(){
    window.open('http://stackoverflow.com','myname','height=100,width=100');
}

现在我需要在该窗口中加载扩展。假设扩展的目的只是提醒一条消息,当我加载该窗口时,background.js应该启动并执行该操作,对吗?

chrome.windows.create(object createData,function callback)

创建(打开)具有任何可选大小、位置或默认URL的新浏览器

发件人:

试试这个例子:

var props = {
    url: "http://www.stackoverflow.com",
    height: "100",
    width: "100",
    type: "popup"
}

chrome.windows.create(props, function(windowObj){
    console.log("Here's the window object.");
    console.dir(windowObj);
});

下面是我在浏览API后的答案。正如我所说,它会检查正在创建的每个新窗口,并检查该窗口的参数。以下代码可以添加到扩展名的background.js文件中:

chrome.windows.onCreated.addListener(function(win){
    chrome.windows.get(win.id,{populate:true},function(tabwin){
        setTimeout(function(){
            chrome.tabs.executeScript(tabwin.tabs[0].id,{code:"alert(JSON.stringify(window));",runAt:'document_idle'});
        },500);
    });
});

谢谢你的回答,拉里。我更喜欢将代码保留在网站的范围内,并让扩展进行修改。尽管如此,我还是想出了一个解决办法。确保您已应用选项卡权限,以及弹出窗口可能访问的任何网站。从那里,监听正在创建的新窗口,并对每个窗口进行测试,以查看参数是否匹配(即window.name就是您要查找的参数)。在我撰写本文时,高度现在需要为整数。我用谷歌浏览器V24让它工作,我不得不删除高度等引号,所以高度:100不是高度:“100”