لماذا يتم تحميل window.open () عنوان URL في نفس النافذة؟
-
01-10-2019 - |
سؤال
قرأت كتابًا عن JavaScript ويقول إنه عندما نقوم بإنشاء وظيفة لفتح نافذة جديدة ، يتم تخزين الإشارة إلى كائن النافذة الجديد داخل المتغير المعين إلى window.open(theURL , newWindow)
مكالمة. كما يقول أنه إذا تم استخدام المتغير نفسه لعنوان اثنين أو أكثر ، بغض النظر عن عنوان URL الذي انقر فوقه فسيكون مفتوحًا في نفس النافذة. ومع ذلك ، إذا قمت بإنشاء متغيرين لشخصين window.open()
المكالمات ، سيتم فتح كلا الموقعين في نوافذ مختلفة (جديدة).
نظرًا للفضول ، حاولت استخدام متغيرين مختلفين ، لكن لا يزال عندما أنقر على كلا الصلرين ، لا يزال يتم تحميلهما في نفس النافذة. كيف ذلك؟ لقد جربته على Firefox و IE و Chrome دون جدوى.
المحلول
الكتاب صحيح جزئيًا ، ولكن ما تحتاجه بالفعل هو قيمتان مختلفتان ، وليس بالفعل متغيرين مختلفين. إذا كان لديك متغيران بنفس القيمة ، فإن النتيجة هي نفسها باستخدام نفس المتغير. إنها القيمة التي تهم ، وليس المتغير الذي تستخدمه لتوفير القيمة.
المعلمة الثانية إلى open
الطريقة هي الهدف. إذا كنت تستخدم قيمة مثل على سبيل المثال 'win42'
, ، سيتم استخدام ذلك كاسم للنافذة. إذا اتصلت open
مرة أخرى مع نفس القيمة للهدف ، سيتم فتحه في نفس النافذة.
يمكنك استخدام القيمة الخاصة '_blank'
كهدف لفتح نافذة جديدة دائمًا.