这两天碰到一个问题,看到别人的一个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这个过渡页面
一般来说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这个过渡页面
页面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');
过程应该是你这样没错
你这样是正常的操作,因为b.php和c.php是不同的域名下的,所以中间地址栏是肯定会先显示一下b.php的地址,再跳轩到c.php
现在的总是是不想让b.php这个地址在地址栏上出现
既然如此,就没有必要探究了。这是正常流程不想让地址栏显示过渡 url,只需使用框架页就可以了