फोकस स्विचिंग के बिना पृष्ठभूमि में एक नया टैब खोलना
इस प्रश्न में, उपयोगकर्ता एक अलग टैब में एक नया टैब खोलना चाहता है नए टैब पर कोई फोकस शिफ्ट किए बिना। वे खुले() और फोकस() तरीकों का उपयोग करके एक प्रयास प्रदर्शित करते हैं, लेकिन क्रोम में वर्तमान टैब पर लौटने से पहले नए टैब की एक क्षणिक फ्लैश का सामना करते हैं।
हालांकि, प्रदान किया गया उत्तर ईवेंट का उपयोग करके एक वैकल्पिक समाधान प्रस्तुत करता है इस समस्या को बायपास करने के लिए सिमुलेशन।
कस्टम इवेंट डिस्पैच
इस व्यवहार को प्राप्त करने की कुंजी गतिशील रूप से एक तत्व बनाने में निहित है और वांछित URL को इसकी href विशेषता निर्दिष्ट करना। इसके बाद, एक ईवेंट (इस मामले में, एक माउस क्लिक) बनाया जाता है और "ctrl" कुंजी संशोधक सहित विशिष्ट मापदंडों के साथ आरंभ किया जाता है। यह किसी लिंक पर क्लिक करते समय "ctrl" कुंजी दबाए रखने की क्रिया का अनुकरण करता है, जो पृष्ठभूमि में एक नया टैब खोलने के लिए डिफ़ॉल्ट व्यवहार है।
कार्यान्वयन
प्रदान किया गया कोड इस तकनीक का उदाहरण देता है:
function openNewBackgroundTab(){ var a = document.createElement("a"); a.href = "http://www.google.com/"; var evt = document.createEvent("MouseEvents"); //the tenth parameter of initMouseEvent sets ctrl key evt.initMouseEvent("click", true, true, window, 0, 0, 0, 0, 0, true, false, false, false, 0, null); a.dispatchEvent(evt); }
निष्कर्ष
ईवेंट सिमुलेशन का लाभ उठाकर, यह समाधान वर्तमान टैब के फोकस को प्रभावित किए बिना प्रभावी ढंग से पृष्ठभूमि में एक नया टैब खोलता है। यह तकनीक ब्राउज़र एक्सटेंशन या बुकमार्कलेट के लिए विशेष रूप से उपयोगी है जहां निर्बाध उपयोगकर्ता अनुभव के लिए वर्तमान टैब पर फोकस बनाए रखना महत्वपूर्ण है।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3