Firefoxアドオンを作成しようとしていますが、特定のイベントが発生したときにブラウザウィンドウを最前面に表示しようとしています。Web Extensionを使用してFirefoxウィンドウにフォーカスを設定する方法
これが私のマニフェストです:
{
"manifest_version": 2,
"name": "Test Extension",
"version": "1.0",
"description": "Test browser extension",
"content_scripts": [{
"matches": ["http://*/*", "https://*/*"],
"js": ["content.js"]
}],
"background": {
"scripts": ["background.js"],
"persistent": true
},
"permissions": [
"notifications",
"activeTab"
]
}
Content.js:
'use strict';
document.addEventListener('newOrderEvent', function() {
console.log('New Order event received');
browser.runtime.sendMessage('new-order-event');
});
Background.js:
'use strict';
var windowId;
function newOrderListener(message) {
if (message === 'new-order-event') {
console.log('Received event!');
browser.windows.update(windowId, {
drawAttention: true,
focused: true,
state: 'maximized'
});
}
}
browser.windows.getCurrent().then(function(window) {
windowId = window.id;
});
browser.runtime.onMessage.addListener(newOrderListener);
newOrderEvent
は自分のアプリケーションのWebページによって生成され、それは常にです適切な時に呼び出されますが、ブラウザがフォアグラウンドに来ることがありますなぜなら、私は正確になぜそれを理解していません。さらに、background.jsからのコンソール出力はブラウザによって登録されていません。
私は間違っていますか?
注:何をしたいが集中し、それ自体を作るためのタブがある場合、私は、Firefox 52およびWindows 10
1で自身を集中することができますがあります任意のタブ:ときに、あなたはすべての警告を得るのですか拡張機能をインストールしますか? 2:ブラウザコンソール(Ctrl + Shift + J)は、すべてのconsole.logの3を表示します: 'background.js'の' windowId'の使い方が間違っています。まだ指を置くことはできません –
こんにちは、私はいません私は 'Ctrl + Shift + J'コンソールと' console.log() 'コマンドも表示されています... – Felipe