Google chrome extension 谷歌浏览器扩展:弹出窗口处理
我的分机应在以下条件下打开一个弹出窗口(普通弹出窗口,而不是默认的分机弹出窗口):Google chrome extension 谷歌浏览器扩展:弹出窗口处理,google-chrome-extension,Google Chrome Extension,我的分机应在以下条件下打开一个弹出窗口(普通弹出窗口,而不是默认的分机弹出窗口): 此刻只能打开一扇窗户 我想在localStorage中保存窗口大小和位置,并在下次打开时恢复它们 如何做到这一点 我试过: chrome.browserAction.onClicked.addListener(function() { // 1. In this case, variable win is a window object. But it's empty. There // is no p
chrome.browserAction.onClicked.addListener(function() {
// 1. In this case, variable win is a window object. But it's empty. There
// is no properties/methods to operate with.
var win = window.open('http://example.com','windowname');
chrome.windows.create({
'url': 'http://example.com',
'type': 'popup'
}, function(win) {
// 2. In this case, variable win has some properties, but they are static
// and won't change on window resize/close.
});
});
有什么想法吗?我想,你可以用
window.open()
来实现这一点
1-此时只能打开一个窗口,
如果您提供相同的名称
,window.open()
- 如果没有任何同名的现有窗口,它将创建一个新窗口
- 否则,如果有一个打开的窗口具有相同的名称,它将只是刷新它
window.onresize
event
这是一个基本的例子
chrome.browserAction.onClicked.addListener(function() {
var wOpt = getWindowDefaultOptions(); // options from localStorage
var win = window.open("http://www.example.com", "myscriptpopup", "width="+wOpt.width+", height="+wOpt.height+", top="+wOpt.top+", left="+wOpt.left);
win.onresize = function() {
var newOptions = {};
newOptions.width = this.innerWidth;
newOptions.height = this.innerHeight;
newOptions.top = this.screenY;
newOptions.left = this.screenX;
setWindowDefaultOptions(newOptions); //save Options to localStorage
}
});
//Default Options For Window
var winOptions = {
"width" : "200",
"height" : "100",
"top" : "50",
"left" : "50"
};
打开的窗户有什么特别之处?扩展如何知道“窗口”是否已打开?如果它基于URL,则是一个示例。由于某些原因,
win.onresize()
在窗口打开时仅被调用两次。