这两天碰到一个问题,看到别人的一个A页面上有一个FLASH按钮,点击这个按钮在浏览器上看好像是新窗口打开了c.php这个页面,但是我用firebug查看发现在c.php页面之前是由b.php通过302跳转到c.php的
一般来说php里使用 header("Location:c.php");做302跳转,当点击A上的按钮从b.php 302跳转到c.php,那浏览器地址栏肯定快速的显示一下b.php然后马上显示c.php,但是不知道为什么这个例子里它地址栏里不会显示b.php,不是因为跳转过快而肉眼无法查看到的问题,就算卡几秒再跳转到c.php也是没有b.php的,浏览器上显示的是空地址或者是about:blank
而且还有一个奇怪的问题在firefox、chrome或者类似360极速浏览器这种是看不到b.php的,ie8下就能看到b.php
我自己做了一下测试只有在firefox下好像是看不到b.php的,其他都能看到,不知道他这个是怎么实现的求各路大神支个招,我主要也是想在地址栏隐藏b.php这个过渡页面

解决方案 »

  1.   

    可能是这样
    页面A中定义一个函数
    <script>
    function open_window(url){
    window.open(url,'');
    }
    </script>
    A中所嵌入的flash按钮调用了A页面的open_window函数
    on (release) {
     getURL("javascript:open_window(\"b.php\")");
    }
    b.php里面含有
    <?php
    header('Location:c.php');
      

  2.   


    过程应该是你这样没错
    你这样是正常的操作,因为b.php和c.php是不同的域名下的,所以中间地址栏是肯定会先显示一下b.php的地址,再跳轩到c.php
    现在的总是是不想让b.php这个地址在地址栏上出现
      

  3.   

    只有在firefox下好像是看不到b.php的,其他都能看到
    既然如此,就没有必要探究了。这是正常流程不想让地址栏显示过渡 url,只需使用框架页就可以了