10

目前似乎只能通过用户操作(鼠标/键盘事件)激活全屏功能。有没有办法绕过这个?

4

6 回答 6

13

现在,您可以state:"fullscreen"在主 .js 中添加该属性:

chrome.app.runtime.onLaunched.addListener(
    function() {
        chrome.app.window.create('index.html',
            {
                state: "fullscreen",
            }
        );
    }
);

确保您不添加resizable: falsebounds属性,并"fullscreen"manifest.json.

{
    ...
    "permissions": [
        ...
        "fullscreen"
    ]
}
于 2014-02-06T18:26:10.350 回答
6

您可以使用需要用户操作的 HTML5 Fullscreen API:

button.addEventListener('click', function() {
  document.body.webkitRequestFullscreen();
});

或者使用 AppWindow 对象的更“app-y”方式,不需要用户操作:

chrome.app.window.current().fullscreen();

"fullscreen"两者都需要manifest.json.

于 2013-04-29T18:48:19.497 回答
3

我已经使用下面的代码

chrome.app.runtime.onLaunched.addListener(function() {
    chrome.app.window.create('index.html', {
    'width': 1024,
    'height': 768
},
function(win) {
    win.maximize();
});
});
于 2013-04-22T10:04:45.330 回答
1

查看https://plus.google.com/100132233764003563318/posts/2SuD7MVd8mG参考最近登陆的变更列表https://chromiumcodereview.appspot.com/12205002。您可以从以下任一来源提取示例代码:

document.body.addEventListener('click', function() {
  document.body.webkitRequestFullscreen();
});

确保在您的清单中请求“全屏”权限,并且您正在测试足够新的 Chrome 版本(测试版通道现在应该具有此功能,开发人员肯定有)。

您的问题专门针对打包的应用程序,但如果阅读此答案的人错过了这一点,这仅适用于 Chrome 打包的应用程序

于 2013-03-17T03:44:04.700 回答
1

main.js

chrome.app.runtime.onLaunched.addListener(function() {
  chrome.app.window.create('index.html',{},function(window) {
    window.fullscreen();
  });
});

清单.json

{
  ...
  "manifest_version": 2,
  "minimum_chrome_version": "23",
  "app": {
    "background": {
      "scripts": ["main.js"]
    }
  },
  "permissions": ["fullscreen"]
}
于 2017-07-27T18:54:01.583 回答
0

编辑:根据 BeardFist 的评论,我最初的答案在两个方面都是错误的。您可以在 Chrome 扩展程序(标记为)上执行此操作,但可能无法在打包的应用程序上执行此操作。

对于扩展,您可以使用 state:"fullscreen" 选项使其进入全屏状态,该选项可以与chrome.window.update. chrome.windows.create下面的代码通过with链接了窗口的创建chrome.window.update。在我的实验中,您无法直接通过创建窗口来设置全屏状态。

chrome.windows.create(
  {url:"PATH/TO/POPUP"}, 
    function(newWindow) {
        chrome.windows.update(newWindow.id, {state:"fullscreen"})
});
于 2013-03-16T19:04:15.120 回答