目前似乎只能通过用户操作(鼠标/键盘事件)来激活全屏功能。有没有办法规避这个问题?
目前似乎只能通过用户操作(鼠标/键盘事件)来激活全屏功能。有没有办法规避这个问题?
现在,你只需要在你的主要 .js 文件中添加 state:"fullscreen"
属性:
chrome.app.runtime.onLaunched.addListener(
function() {
chrome.app.window.create('index.html',
{
state: "fullscreen",
}
);
}
);
请确保不要添加resizable: false
或bounds
属性,并在manifest.json
中添加一个"fullscreen"
权限。
{
...
"permissions": [
...
"fullscreen"
]
}
您可以使用HTML5全屏API,但需要用户进行操作:
button.addEventListener('click', function() {
document.body.webkitRequestFullscreen();
});
chrome.app.window.current().fullscreen();
manifest.json
文件中获取 "fullscreen"
权限。chrome.app.runtime.onLaunched.addListener(function() {
chrome.app.window.create('index.html', {
'width': 1024,
'height': 768
},
function(win) {
win.maximize();
});
});
manifest.json
的“permissions”数组中添加“fullscreen”后,使用win.fullscreen()
来实现全屏。 - Jaseemmain.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"]
}
请查看https://plus.google.com/100132233764003563318/posts/2SuD7MVd8mG,其中提到了最近提交的变更列表https://chromiumcodereview.appspot.com/12205002。您可以从这些来源中获取示例代码:
document.body.addEventListener('click', function() {
document.body.webkitRequestFullscreen();
});
确保在您的清单文件中请求“全屏”权限,并且您正在测试足够新的Chrome版本(beta渠道现在应该具有此功能,而dev肯定会有)。
您的问题特别涉及打包的应用程序,但是如果阅读此答案的任何人错过了这一点,则仅适用于Chrome打包应用程序。
编辑:根据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"})
});
{state:"fullscreen"}
从扩展中触发全屏,但不能从打包的应用程序中实现。事实上,您根本无法访问chrome.windows
,因此这也无法起作用。 - BeardFist
chrome.app.window.create('view / viewer.html',{id:'presentation-viewer-'+ pres_id,bounds:{width:1024,height:768},“resizable”:false,state:“maximized”}
- Abdul Sadik Yalcin