9
我試圖建立一個Safari擴展,當用戶點擊Command + B時它會顯示彈出窗口。使用下面的代碼可以工作,但總是在不同的窗口上顯示彈出窗口而不是當前的窗口/選項卡。我希望它在當前窗口上顯示彈出窗口,而不是切換到另一個窗口並在那裏打開彈出窗口。如果只打開一個Safari窗口,但在打開多個窗口時開始出現問題,它可以很好地工作。Safari擴展顯示彈出窗口不同窗口
任何想法?
全球分頁文件:
<script>
safari.application.addEventListener('message', function (e) {
if (e.name == 'Show Popover') {
safari.extension.toolbarItems[0].showPopover();
}
}, false);
</script>
注入內容:
document.addEventListener("keydown", keydown);
function keydown(event) {
if (event.metaKey && event.keyCode == 66) {
event.preventDefault();
safari.self.tab.dispatchMessage('Show Popover', {});
}
}
大,看起來像它的工作!非常感謝您的幫助。一個注意事項是我必須將'toolbarItemId'更改爲我的實際toolbarItemId。如果您可以編輯您的答案以提供以供將來參考和提供給其他用戶,那將會很好。再次感謝。 –
@CharlieFish沒問題,並哎呀我壞 - 更新:) – JayIsTooCommon
再次感謝。只是讓你知道我將在7天結束時獎賞賞金。 :) –