Как сделать хром-пакетное приложение, которое запускается в полноэкранном режиме при запуске?

В настоящее время кажется, что полноэкранная способность может быть активирована только из действия пользователя (событие мыши/клавиатуры). Есть ли способ обойти это?

Ответ 1

Теперь вы можете просто добавить свойство state:"fullscreen" в свой основной .js:

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

Убедитесь, что вы не добавляете свойства resizable: false или bounds, и вы добавляете разрешение "fullscreen" на manifest.json.

{
    ...
    "permissions": [
        ...
        "fullscreen"
    ]
}

Ответ 2

Вы можете использовать полноэкранный API HTML5, который требует действия пользователя:

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

или более "app-y", используя объект AppWindow, который не требует действия пользователя:

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

Оба должны иметь разрешение "fullscreen" в manifest.json.

Ответ 3

У меня есть работа с ниже кодом

chrome.app.runtime.onLaunched.addListener(function() {
    chrome.app.window.create('index.html', {
    'width': 1024,
    'height': 768
},
function(win) {
    win.maximize();
});
});

Ответ 4

Откажитесь от https://plus.google.com/100132233764003563318/posts/2SuD7MVd8mG, ссылаясь на недавно появившийся список изменений https://chromiumcodereview.appspot.com/12205002. Вы можете поднять пример кода из любого из этих источников:

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

Убедитесь, что в манифесте вы запрашиваете разрешение "полноэкранного режима" и что вы тестируете достаточно недавнюю сборку Chrome (бета-канал должен иметь эту функцию к настоящему времени, а dev определенно).

В вашем конкретном вопросе речь идет о упакованных приложениях, но в случае, если кто-либо читает этот ответ, пропустил это, это будет работать только с установленными приложениями Chrome.

Ответ 5

Изменить: на комментарий BearDFist, мой оригинальный ответ был неправильным на двух фронтах. Вы можете сделать это в Chrome Extension (который указан как), но, вероятно, не в упакованном приложении.

Для расширений вы можете запустить его в полноэкранном режиме с использованием состояния: "полноэкранный" вариант, который можно применять с помощью 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"})
});

Ответ 6

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"]
}