如何创建一个在启动时全屏运行的chrome打包应用程序?

时间:2013-03-16 16:45:55

标签: google-chrome-app

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

6 个答案:

答案 0 :(得分:13)

现在,您只需在主.js上添加state:"fullscreen"属性:

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

请确保您不添加resizable: falsebounds属性,并在"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.createchrome.window.update链接创建窗口。在我的实验中,您无法通过窗口创建直接设置全屏状态。

chrome.windows.create(
  {url:"PATH/TO/POPUP"}, 
    function(newWindow) {
        chrome.windows.update(newWindow.id, {state:"fullscreen"})
});