none
页面跳转问题 RRS feed

  • 问题

  • 问题:A页面已经打开了,当你再次点击打开A页面(_blank)的时候,自动跳转到已经打开的A页面,而不是打开一个新的A页面。怎么解决?帮帮忙。谢谢.

    2009年9月30日 6:42

答案

  • 您好,试试这段js

    var RemindWindowhx
    function OpenOnlyOneWindow(url,name)
    {
        if(!RemindWindowhx || RemindWindowhx.closed)
        {
            RemindWindowhx = window.open( url, name);
        }
        else
        {
            RemindWindowhx.focus();
        }
    }
    2009年9月30日 7:30
    版主
  • 你只需要将 window.open 的第二个参数设置固定值,那么就只会在同一个窗口打开,比如下面的代码只会打开一个窗口,原理就是这样的,你为何不试试呢?

    window.open("http://www.163.com", "window1");
    window.open("http://www.csdn.net", "window1");

    知识改变命运,奋斗成就人生!
    2009年9月30日 7:41
    版主
  • 楼主,你好

    关键是打开的窗口的名字,你要是知道这个窗口的名字后每次点击link打开窗口的时候,记得给它这个名字。它就会自动转到这个窗口了。

     var testWindow;
          function openWindow() {
              if (testWindow == null) {
                  testWindow = window.open("GetCursorDemo.aspx", "test");
              }
              else testWindow.focus();
         
          }
          
    但是能否使这个test窗口focus还和浏览器设置有关。有的浏览器是设置成点击链接直接打开一个table,这样当再次点击这个link来使test窗口成为焦点时好像不行了。

    Microsoft Online Community Support
    2009年10月2日 3:36

全部回复

  • 你好!

    <a href="#" onclick="openWindow1();">示例一</a>
    <a href="#" onclick="openWindow2();">示例二</a>
    <script>
        function openWindow1() {
            // 窗口已存在刷新窗口
            window.open("http://www.163.com", "newwindow");
        }

        function openWindow2() {
            //  每次都打开新窗口
            window.open("http://www.163.com");
        }
    </script>

    知识改变命运,奋斗成就人生!
    2009年9月30日 6:51
    版主
  • 这样不行吧,我是一个按钮,
    <a href="#" onclick="openWindow1();">示例一</a>
    点击两次时,还是打开原来的页面
    2009年9月30日 7:03
  • 你好!

    你是要每次点击时都打开一个新窗口,还是不管点多少次都只打开一个窗口?

    知识改变命运,奋斗成就人生!
    2009年9月30日 7:05
    版主
  • 不管点多少次都只打开一个窗口.
    2009年9月30日 7:09
  • 你好!

    openWindow1 就是你需要的方式,是没有问题的。

    知识改变命运,奋斗成就人生!
    2009年9月30日 7:22
    版主
  • 您好,试试这段js

    var RemindWindowhx
    function OpenOnlyOneWindow(url,name)
    {
        if(!RemindWindowhx || RemindWindowhx.closed)
        {
            RemindWindowhx = window.open( url, name);
        }
        else
        {
            RemindWindowhx.focus();
        }
    }
    2009年9月30日 7:30
    版主
  • 是这样的,我现在在网站上菜单有很多条目,当我点击投稿专区,该页面已经打开,现在我又点下载专区,又打开了一个页面,当我再点投稿专区,就打开原先我已经打开的页面,而不是又打开一个新页面
    2009年9月30日 7:34
  • 你只需要将 window.open 的第二个参数设置固定值,那么就只会在同一个窗口打开,比如下面的代码只会打开一个窗口,原理就是这样的,你为何不试试呢?

    window.open("http://www.163.com", "window1");
    window.open("http://www.csdn.net", "window1");

    知识改变命运,奋斗成就人生!
    2009年9月30日 7:41
    版主
  • 您好,我上面给出的js,只要给投稿和下载两个页面设置不同的name即可。

    另,建议您考虑用帧结构集的方式来实现,不然打开的区域越多就越乱。
    2009年9月30日 7:43
    版主
  • 楼主,你好

    关键是打开的窗口的名字,你要是知道这个窗口的名字后每次点击link打开窗口的时候,记得给它这个名字。它就会自动转到这个窗口了。

     var testWindow;
          function openWindow() {
              if (testWindow == null) {
                  testWindow = window.open("GetCursorDemo.aspx", "test");
              }
              else testWindow.focus();
         
          }
          
    但是能否使这个test窗口focus还和浏览器设置有关。有的浏览器是设置成点击链接直接打开一个table,这样当再次点击这个link来使test窗口成为焦点时好像不行了。

    Microsoft Online Community Support
    2009年10月2日 3:36
  • _blank已经是新开页面了,所以,你不能再使用 _blank打开了,你可以参考上面各位的方法
    【孟子E章】
    2009年10月3日 0:50
    版主
  • 好像不可以,我现在把页面A打开了,又去打开B页面,但再次打开原来那A页面就失去焦点了,那页面不能被调起打开,不能作为当前窗口打开。
    2009年10月9日 6:29