javascript اكواد - أي طريقة لتحديد علامة تبويب المتصفح في JavaScript؟




3 Answers

SessionStorage هو لكل علامة تبويب / نافذة ، لذلك يمكنك تحديد رقم عشوائي في جلسة التخزين والحصول عليه في البداية إذا كان موجودًا:

var tabID = sessionStorage.tabID ? sessionStorage.tabID : sessionStorage.tabID = Math.random();

تحديث :
في بعض الحالات ، قد يكون لديك الجلسة نفسها التخزين في علامة تبويب متعددة (على سبيل المثال عندما تقوم بتكرار علامة التبويب). في هذه الحالة ، قد يساعد اتباع التعليمات البرمجية التالية على:

var tabID = sessionStorage.tabID && sessionStorage.closedLastTab !== '2' ? sessionStorage.tabID : sessionStorage.tabID = Math.random();
sessionStorage.closedLastTab = '2';
$(window).on('unload beforeunload', function() {
      sessionStorage.closedLastTab = '1';
});
جافا سكريبت

أحتاج إلى التعرف على علامة التبويب التي أجدها داخل المتصفح. أليس هناك بعض المعلومات التي يمكنني الحصول عليها من المتصفح للتعرف على علامة التبويب؟ لست بحاجة إلى معرفة أي شيء عن أي علامات تبويب أخرى ، فأنا بحاجة فقط إلى معرِّف لعلامة التبويب التي أستخدمها. قد يكون رقمًا عشوائيًا أو متسلسلًا ، أو ختمًا زمنيًا زمنيًا ، طالما أنها تبقى نفسها بالنسبة إلى حياة علامة التبويب.

لدي تطبيق جانب العميل الذي يجعل BOSH عبر اتصال HTTP إلى خادم بعيد ، وإذا قمت بفتحه في علامات تبويب متعددة ، فكل مثيل يحتاج إلى معرف فريد خاص به أو فشل التطبيق ، لذلك أحتاج فقط إلى رقم فريد يرتبط بـ علامة التبويب طالما توجد علامة التبويب هذه (أي شيء ينجو من تحديث الصفحة أثناء التنقل في الموقع الذي يوفر هذا التطبيق). يبدو أنه لا يجب أن يكون متاحًا في المتصفح ، مثل window.tabId - هذا كل ما أريده. لقد حصلت على كتلة تنمية خطيرة لأنني لا أستطيع تجاوز هذا الحل البسيط والبسيط والبسيط الذي لا يبدو موجودًا. يجب أن تكون هناك طريقة (حل عبر المتصفح في ذلك).

أيه أفكار؟




لا يمكنك الحصول على معرف علامة التبويب باستخدام javascript ، فكيف يكون هناك حل يمكن أن يساعدك مثل استخدام جلسات / ملفات تعريف الارتباط المختلفة عند فتح المستخدم لعلامة تبويب جديدة.

بعض المرجع:

الحصول على فهرس علامة التبويب / معرف المتصفح

الحصول على عناوين المواقع من علامات التبويب فايرفوكس من تمديد فايرفوكس

كيف تختلف الجلسات في علامات تبويب المتصفح؟

الحصول على جلسة فريدة من نوعها في كل علامة تبويب المتصفح

asp.net - جلسة - علامات تبويب متصفح متعددة - جلسات مختلفة؟




إذا لم تكن هناك أية احتمالات لدخول 3 علامات تبويب للمستخدم خلال 2 ملي ثانية ، فبإمكانه استخدام طابع زمني وتخزينه في window.name واستخدامه كمفتاح في البحث. ستبقى قيمة window.name مع علامة التبويب حتى يتم إغلاقه.

Timestamp




Related

javascript browser tabs uniqueidentifier