주어진 이벤트가 발생할 때마다 브라우저 창을 맨 앞으로 가져 오는 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
를 생성하고 항상있다 시간에 맞춰 호출되기도하지만 때로는 브라우저가 전경에오고 그럴 때가 아니라면 나는 그 이유를 정확히 이해하지 못한다. 또한 background.js의 콘솔 출력이 브라우저에 등록되지 않습니다.
내가 뭘 잘못하고 있니?
참고 : 당신이 원하는 것은 집중 자체를 만들 수있는 TAB 인 경우 나 파이어 폭스 52 및 Windows 10
1 자체에 초점을 할 수있는 모든 탭 : 때 당신은 경고를받을 수 있나요 확장 기능을 "설치"하시겠습니까? 2 : 브라우저 콘솔 (Ctrl + Shift + J)은 모든 console.log의 3을 보여줍니다 : background.js에서'windowId'를 사용하면 틀린 것 같습니다. 아직 손가락을 넣을 수 없습니다. –
안녕하세요, 아니요. 어떤 경고도받지 못한다. 나는 또한'Ctrl + Shift + J' 콘솔과'console.log()'명령을 사용했다 ... – Felipe