В настоящее время кажется, что полноэкранная способность может быть активирована только из действия пользователя (событие мыши/клавиатуры). Есть ли способ обойти это?
Как сделать хром-пакетное приложение, которое запускается в полноэкранном режиме при запуске?
Ответ 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"]
}