2012-04-04 4 views
1

Это мой Html.I нужно открыть (ту же страницу) Page1.html в новом окне, когда я нажимаю на странице .1.html. (Первое окно) Так я использовал window.open() для этого. Он работает и производит второе окно Но мне также нужно открыть ту же страницу (Page1.html) из второго окна, которое было создано из первого окна. Поэтому я использовал window.open(), и он загружает Page1.html в том же окне. Он не будет создавать никаких других новых окон. В практическом сценарии мне нужно создать новое окно с B.html из A.html. Также из второго окна (B.html) мне нужно создать другое окно с C.html. В настоящее время B будет открыт, но C не будет создавать новые окна, он просто загружает C.html во втором окне, которое заменяет B.htmlРекурсивный вызов Window.open в Javascript.

<html xmlns="http://www.w3.org/1999/xhtml"> 
    <head> 
     <title></title> 
    </head> 
    <body> 
     <script type="text/javascript"> 
      function ShowPage(pageName) { 
       window.open(pageName, null, 'height=400,width=800,status=yes,toolbar=yes,menubar=no,location=no,scrollbars=yes,resizable=yes'); 
      } 
     </script> 
     <a id="page1.htm" onclick="ShowPage(this.id);">Click Me</a> 
    </body> 
    </html> 

ответ

4

Есть новое имя для каждого окна открыть, потому что как только «по имени «Окно уже открыто, любой window.open, который использует то же имя, открывает содержимое в том же окне.

ИЛИ

установить имя "_blank", чтобы открыть в новом окне каждый раз.

имя окна можно установить с помощью второго параметра (вместо нулевого).


Согласно этому MDN article

Если окно с именем strWindowName уже существует, то strUrl загружается в существующем окне. В этом случае возвращаемое значение метода - это существующее окно, а strWindowFeatures игнорируется. Предоставление пустой строки для strUrl - это способ получить ссылку на открытое окно по его имени без изменения местоположения окна. Чтобы открыть новое окно при каждом вызове window.open(), используйте специальное значение _blank для strWindowName.

+0

Спасибо это работает :) – kbvishnu

1

Попробуйте использовать '_blank' вместо нуля во втором аргументе window.open()