मैं एक सफारी एक्सटेंशन बनाने की कोशिश कर रहा हूं, जहां कोई उपयोगकर्ता कमांड + बी हिट करता है तो यह पॉपओवर दिखाएगा। नीचे दिए गए कोड का उपयोग करना काम करता है लेकिन हमेशा एक अलग विंडो पर पॉपओवर दिखाता है जो वर्तमान विंडो/टैब नहीं है। मैं इसे एक अलग विंडो में स्विच करने और पॉपओवर खोलने के बजाय वर्तमान विंडो पर पॉपओवर प्रदर्शित करना चाहता हूं। यह पूरी तरह से काम करता है अगर केवल एक सफारी खिड़की खुलती है लेकिन कई खिड़कियां खुली होने पर समस्याएं शुरू होती हैं।सफारी एक्सटेंशन पॉपओवर अलग विंडो दिखा रहा है
कोई विचार?
वैश्विक पृष्ठ फ़ाइल:
<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', {});
}
}
महान !! आपकी मदद के लिए बहुत बहुत शुक्रिया। एक नोट यह है कि मुझे अपने टूलबार ItemId में 'toolbarItemId' को बदलना पड़ा। अच्छा होगा अगर आप अपने उत्तर को यह उल्लेख करने के लिए संपादित कर सकते हैं कि भविष्य के संदर्भ के लिए और अन्य उपयोगकर्ताओं के लिए। एक बार फिर धन्यवाद। –
@CharlieFish कोई समस्या नहीं है, और ओह मेरे खराब - अद्यतन :) – JayIsTooCommon
फिर से धन्यवाद। बस इतना ही आपको पता है कि मैं 7 दिन की अवधि के अंत में बक्षीस का पुरस्कार दूंगा। :) –