Google chrome Chrome extension在当前窗口后面打开新窗口
我有一个chrome扩展,可以使用 window.open(); 当用户打开某些特定网站时。 我想要的是通过window.open()从后台脚本打开的新窗口,它应该显示在用户打开的当前webiste后面 我尝试过window.open属性,如alwaysLowered=1、z-lock=1等,但不起作用。 也试过Google chrome Chrome extension在当前窗口后面打开新窗口,google-chrome,google-chrome-extension,Google Chrome,Google Chrome Extension,我有一个chrome扩展,可以使用 window.open(); 当用户打开某些特定网站时。 我想要的是通过window.open()从后台脚本打开的新窗口,它应该显示在用户打开的当前webiste后面 我尝试过window.open属性,如alwaysLowered=1、z-lock=1等,但不起作用。 也试过 var w = window.open('url'); if(w){ w.blur(); window.focus(); } 所有这些对铬没有影响。有人能帮忙吗?如果您不需要打开的窗
var w = window.open('url');
if(w){
w.blur();
window.focus();
}
所有这些对铬没有影响。有人能帮忙吗?如果您不需要打开的窗口的句柄(由
窗口返回。open
),您可以使用的方法和:
在background.js中:
chrome.browserAction.onClicked.addListener(function(tab) {
chrome.windows.create({ url: "http://www.google.com/" }, function(win) {
chrome.windows.update(win.id, { focused: false });
});
});
从理论上讲,在createInfo参数中传递focused:false
属性应该可以在一个步骤中获得相同的结果,但对于Windows上的Chrome版本31.0.1650.57,它不起作用
更新:
上面的代码似乎并没有“模糊”Mac上的窗口。要克服这一问题(根据OP的意见确定新窗口的位置和大小),请使用以下代码:
chrome.browserAction.onClicked.addListener(function(tab) {
chrome.windows.create({
url: "http://www.google.com/",
width: 430,
height: 150,
top: top_popup,
left: left_popup
}, function(win) {
chrome.windows.update(tab.windowId, { focused: true });
});
});
试试这个,速度很快,所以观众感觉不太好谢谢你的回复。它适用于windows chrome 31.0.1650.63 m版,但不适用于mac chrome 31.0.1650.63 m版。有趣!与其试图模糊创建的窗口,您可以尝试聚焦原始窗口(但我没有可供测试的MAC)。例如,尝试更改chrome.windows.update(win.id,{focused:false})to
chrome.windows.update(tab.windowId,{focused:true})你试过我在上面的评论中提出的建议了吗?它有用吗?是的,我试过了。它起作用了。它实际上不为弹出窗口应用宽度和高度参数,而是将其应用于其他窗口。什么宽度和高度?
chrome.windows.getCurrent(function(winCurrent){
chrome.windows.create({url:url, function(win){
chrome.windows.update(winCurrent.id, {focused: true});
});
});