"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > كيفية فتح علامة تبويب جديدة في الخلفية دون تبديل التركيز؟

كيفية فتح علامة تبويب جديدة في الخلفية دون تبديل التركيز؟

تم النشر بتاريخ 2024-11-08
تصفح:768

How to Open a New Tab in the Background Without Switching Focus?

فتح علامة تبويب جديدة في الخلفية دون تبديل التركيز

في هذا السؤال، يسعى المستخدم إلى فتح علامة تبويب جديدة في علامة تبويب منفصلة دون التسبب في أي تحول في التركيز إلى علامة التبويب الجديدة. لقد أظهروا محاولة باستخدام طريقتي open() وfocus()، لكنهم واجهوا وميضًا مؤقتًا لعلامة التبويب الجديدة قبل العودة إلى علامة التبويب الحالية في Chrome.

ومع ذلك، فإن الإجابة المقدمة تقدم حلاً بديلاً باستخدام الحدث محاكاة لتجاوز هذه المشكلة.

إرسال حدث مخصص

يكمن مفتاح تحقيق هذا السلوك في إنشاء عنصر ديناميكيًا وتعيين href الخاص به السمة إلى عنوان URL المطلوب. وبعد ذلك، يتم إنشاء حدث (في هذه الحالة، النقر بالماوس) وتهيئته باستخدام معلمات محددة، بما في ذلك مفتاح التعديل "ctrl". يحاكي هذا إجراء الضغط باستمرار على المفتاح "ctrl" أثناء النقر على الرابط، وهو السلوك الافتراضي لفتح علامة تبويب جديدة في الخلفية.

التنفيذ

الكود المقدم يمثل هذه التقنية:

function openNewBackgroundTab(){ var a = document.createElement("a"); a.href = "http://www.google.com/"; var evt = document.createEvent("MouseEvents"); // المعلمة العاشرة لـ initMouseEvent تقوم بتعيين مفتاح ctrl evt.initMouseEvent("انقر"، صحيح، صحيح، نافذة، 0، 0، 0، 0، 0، صحيح، خطأ، خطأ، خطأ، 0، لاغ)؛ a.dispatchEvent(evt);
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