لماذا يتم تحميل window.open () عنوان URL في نفس النافذة؟

StackOverflow https://stackoverflow.com/questions/3652281

  •  01-10-2019
  •  | 
  •  

سؤال

قرأت كتابًا عن JavaScript ويقول إنه عندما نقوم بإنشاء وظيفة لفتح نافذة جديدة ، يتم تخزين الإشارة إلى كائن النافذة الجديد داخل المتغير المعين إلى window.open(theURL , newWindow) مكالمة. كما يقول أنه إذا تم استخدام المتغير نفسه لعنوان اثنين أو أكثر ، بغض النظر عن عنوان URL الذي انقر فوقه فسيكون مفتوحًا في نفس النافذة. ومع ذلك ، إذا قمت بإنشاء متغيرين لشخصين window.open() المكالمات ، سيتم فتح كلا الموقعين في نوافذ مختلفة (جديدة).

نظرًا للفضول ، حاولت استخدام متغيرين مختلفين ، لكن لا يزال عندما أنقر على كلا الصلرين ، لا يزال يتم تحميلهما في نفس النافذة. كيف ذلك؟ لقد جربته على Firefox و IE و Chrome دون جدوى.

هل كانت مفيدة؟

المحلول

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

المعلمة الثانية إلى open الطريقة هي الهدف. إذا كنت تستخدم قيمة مثل على سبيل المثال 'win42', ، سيتم استخدام ذلك كاسم للنافذة. إذا اتصلت open مرة أخرى مع نفس القيمة للهدف ، سيتم فتحه في نفس النافذة.

يمكنك استخدام القيمة الخاصة '_blank' كهدف لفتح نافذة جديدة دائمًا.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top