目前似乎只能通过用户操作(鼠标/键盘事件)激活全屏功能。有没有办法规避这个?
答案 0 :(得分:13)
现在,您只需在主.js上添加state:"fullscreen"
属性:
chrome.app.runtime.onLaunched.addListener(
function() {
chrome.app.window.create('index.html',
{
state: "fullscreen",
}
);
}
);
请确保您不添加resizable: false
或bounds
属性,并在"fullscreen"
上添加manifest.json
权限。
{
...
"permissions": [
...
"fullscreen"
]
}
答案 1 :(得分:6)
您可以使用HTML5全屏API,这需要用户操作:
button.addEventListener('click', function() {
document.body.webkitRequestFullscreen();
});
或使用AppWindow对象的更多“app-y”方式,不需要用户操作:
chrome.app.window.current().fullscreen();
两者都需要"fullscreen"
中的manifest.json
权限。
答案 2 :(得分:3)
我已经使用了以下代码
chrome.app.runtime.onLaunched.addListener(function() {
chrome.app.window.create('index.html', {
'width': 1024,
'height': 768
},
function(win) {
win.maximize();
});
});
答案 3 :(得分:1)
查看https://plus.google.com/100132233764003563318/posts/2SuD7MVd8mG,参考最近登陆的更改列表https://chromiumcodereview.appspot.com/12205002。您可以从以下任一来源中提取示例代码:
document.body.addEventListener('click', function() {
document.body.webkitRequestFullscreen();
});
确保在您的清单中,您正在申请“全屏”权限,并且您正在测试最新的Chrome版本(测试版渠道现在应该具有此功能,并且开发人员肯定会这样做。)
您的问题专门针对打包应用,但如果有人在阅读此答案时错过了这一点,这仅适用于Chrome打包应用。
答案 4 :(得分:1)
main.js
chrome.app.runtime.onLaunched.addListener(function() {
chrome.app.window.create('index.html',{},function(window) {
window.fullscreen();
});
});
的manifest.json
{
...
"manifest_version": 2,
"minimum_chrome_version": "23",
"app": {
"background": {
"scripts": ["main.js"]
}
},
"permissions": ["fullscreen"]
}
答案 5 :(得分:0)
编辑:根据BeardFist的评论,我原来的答案在两个方面是错误的。您可以在Chrome扩展程序(标记为)上执行此操作,但可能不在打包的应用程序上执行此操作。
对于扩展程序,您可以使用状态:“全屏”选项使其全屏显示,该选项可以应用chrome.window.update
。以下代码通过chrome.windows.create
与chrome.window.update
链接创建窗口。在我的实验中,您无法通过窗口创建直接设置全屏状态。
chrome.windows.create(
{url:"PATH/TO/POPUP"},
function(newWindow) {
chrome.windows.update(newWindow.id, {state:"fullscreen"})
});