4

Я пишу текстовый редактор, мне нужно, чтобы окно приложения всегда было сверху при переключении на браузер или программное обеспечение для чтения электронных книг. как я знаю, для пользователей Windows хром не предоставляет никакого решения. есть ли какой-либо параметр для отправки при создании окна, чтобы сделать окно всегда сверху?Chrome Packaged app, Always on top window

или я могу предоставить любую кнопку в приложении, чтобы включить или отключить эту функцию?

код я использую, чтобы создать окно в bg.js:

var launch = function() { 
chrome.app.window.create('index.html', { 
    type: 'shell', 
    width: 440, 
    height: 680, 
    minWidth: 440, 
    maxHeight: 680, 
    id: 'paat-start' 
}); 
}; 
chrome.app.runtime.onLaunched.addListener(launch); 
chrome.commands.onCommand.addListener(launch); 

спасибо за любые предложения.

ответ

4

chrome.app.window.create поддерживает опцию boolean alwaysOnTop в более поздних версиях Chrome. Эта функция в настоящее время находится в бета-канале на большинстве платформ и, по крайней мере, на канале dev на остальном.

+1

Это должно стать общедоступным в M33. Мы по-прежнему сглаживаем некоторые проблемы в M32. –

8

Как уже упоминалось выше Бен Уэллс, эта функция является теперь доступна в стабильном выпуске (либо V33 или V34) через alwaysOnTop опции в chrome.app.windows.create. Обратите внимание, что в файле manifest.json требуются специальные разрешения. Пример:

background.js
chrome.app.window.create('window.html', { 
    alwaysOnTop: true, 
}, function (appWindow) { 
    // Window created and will remain on top of others. 

    // Change the property programmatically via: 
    //appWindow.setAlwaysOnTop(); 
}); 
manifest.json
"permissions": [ 
    "alwaysOnTopWindows" 
] 

Это, кажется, были добавлены в issue 26427002, пошел стабильным в issue 159523002 и issue 48113024 благодаря the community!


Я смотрел в это время назад и хотел каталог моих выводов, так как исторически были некоторые расхождения в документации which previously stated названием требуемого разрешения было alwaysOnTop, но использовать это вызвало «разрешения неизвестно " ошибка.

Чтение через original proposal for this feature приводит меня к issue 326361, который упоминает, что настройка разрешения фактически называется alwaysOnTopWindows. Однако использование этого в то время дало «требуется Google Dev dev или более новая ошибка (возможно, поскольку эта функция еще не была стабильной).

Я сделал найти это своеобразный из browsing the source code, эти два разрешения могут быть псевдонимами друг друга, но это может быть потому, что я не в полной мере понять кодовую Chromium.

+0

Документация, которую вы указали в «документации, которая раньше говорила», довольно велика. Можете ли вы использовать более конкретный якорь ('# ...')? Вы можете использовать https://chrome.google.com/webstore/detail/display-anchors/poahndpaaanbpbeafbkploiobpiiieko, чтобы найти якорь. –

+0

Готово. Я обновил свою ссылку на https://developer.chrome.com/apps/app_window#property-CreateWindowOptions-alwaysOnTop. Однако вы заметите, что документация теперь имеет правильное значение. Не уверен, есть ли способ просмотреть историю документов :-) – Paulo

+0

Документация создается на https://code.google.com/p/chromium/codesearch#chromium/src/chrome/common/extensions/docs/ (статические файлы, код сервера) и https://code.google.com/p/chromium/codesearch # chromium/src/chrome/common/extensions/api/(файлы JSON). Просто щелкните по соответствующему файлу, нажмите «Просмотреть» (верхний правый угол зрителя), затем «Журнал изменений Subversion», чтобы просмотреть историю файла. –