如何在同一弹出窗口中打开不同的内容

时间:2014-02-05 17:14:06

标签: javascript html href popupwindow window.open

在同一弹出窗口中显示不同内容的最佳方式是什么。

我正在做以下事情:

    <a href = "javascript:openWin('content1.htm')">Content 1</a>
    <a href = "javascript:openWin('content2.htm')">Content 2</a>
    <a href = "javascript:openWin('content3.htm')">Content 3</a>

我有以下javascript:

       function openWin(url) {
        window.open(url, "_blank", "toolbar=no, scrollbars=no, resizable=no, top=200, left=300, width=870, height=650");
    }

现在,点击每个链接后,会打开不同的弹出窗口。如何定位相同的弹出窗口以显示适当的内容,因此在点击第二个或第三个链接后我只打开了一个弹出窗口?

谢谢

2 个答案:

答案 0 :(得分:2)

非常简单,您正在创建新的弹出窗口,因为您将"_blank"指定为参数,将其更改为名称,并且只要它打开就会在同一窗口中打开。

   function openWin(url) {
    window.open(url, "samewindow", "toolbar=no, scrollbars=no, resizable=no, top=200, left=300, width=870, height=650");
}

答案 1 :(得分:0)

迟到了,但我认为使用'location'属性会做你想做的事情:

var windowName;  // global
function openWin(url) {
   if (windowName) {
      windowName.location = url;
      return;
   }
   else {
      windowName = window.open(url, "window_name", "<feature_list>");
   }
}

我正在研究这个主题,因为我的用户希望在不同监视器上的两个不同窗口上打开应用程序,每个窗口/监视器专用于应用程序本身内的不同内容。上面的代码在同一个窗口中打开了新内容,但是没有“flash”或“pop”告诉用户新内容已经出现。 CSS肯定可以用于此,但比较上述代码执行的方式与此代码相比:

var windowName;  // global
function openWin(url) {
   if (windowName) {
      windowName.close();
   }
   windowName = window.open(url, "window_name", "<feature_list>");
}

我认为我更喜欢后者的用户体验。