我正在尝试开发一款始终位于所有其他窗口之上的Chrome应用,包括Chrome和其他应用。使用alwaysOnTop = true
时,我没有取得任何成功。
google的含义是什么意思:
如果为true,则窗口将保持在大多数其他窗口之上。如果存在这种多个窗口,则当前聚焦的窗口将位于前景中。
这些"大多数其他窗口"?我怎么知道它意味着哪个窗口?到目前为止,一旦我点击应用程序,它就不会停留在任何其他窗口之上。我已将我的脚本放在下面,以防我错过了一些简单的事情。
function openApp() {
var innerBounds = {
left : 0,
top : 0.8 * screen.height,
width : screen.width,
height : 0.2 * screen.height,
};
var frame = {
type : "none",
};
var options = {
id : "lqps",
innerBounds : innerBounds,
frame : frame,
resizable : false,
alwaysOnTop : true,
visibleOnAllWorkspaces : true,
};
chrome.app.window.create("popup.html", options);
}
我希望有人能完成所有这些工作。
答案 0 :(得分:1)
试试这个:
"permissions": [
"identity",
"app.window.alwaysOnTop"
],
在你的background.js中尝试:
chrome.app.runtime.onLaunched.addListener(function() {
chrome.app.window.create('index.html', {
id: 'mainWindow',
innerBounds: {
width: 260,
height: 190,
minWidth: 254,
maxWidth: 508,
minHeight: 190,
maxHeight: 190
},
frame:{
type: "chrome"
},
state: "normal",
hidden: false,
resizable: false,
alwaysOnTop: true
});
});
或只是这个:
chrome.app.runtime.onLaunched.addListener(function() {
chrome.app.window.create('index.html', {
id: 'mainWindow',
alwaysOnTop: true
});
});
修改强> 好的,因为我在类似的事情后,我做了以下实现第二个弹出选项菜单: 1.将以上脚本添加到manifest.json 2.格式化你的background.js,类似于我的:
chrome.app.runtime.onLaunched.addListener(function() {
chrome.app.window.create('index.html', {
id: 'mainWindow',
innerBounds: {
width: 260,
height: 190
},
frame:{
type: "chrome"
},
state: "normal",
hidden: false,
resizable: false,
alwaysOnTop: true
},
);
});
document.querySelector("#OptionsWin").addEventListener("click", optionWindow);
function optionWindow(){
chrome.app.window.create('options.html', {
id: 'optionsWindow',
innerBounds: {
width: 260,
height: 190
},
frame:{
type: "chrome"
},
state: "normal",
hidden: false,
resizable: false,
alwaysOnTop: true
}
);
}
<script src="background.js"></script>
如果您将侦听器和函数放在另一个.js文件中,只要将其位置包含在.html文件中,这也可以。