刘少星


人的一切痛苦,本质上都是对自己无能的愤怒。加油!


welcome to mine blog !

JS中防止浏览器屏蔽window.open

有的时候我们需要一些弹出窗来作为临时信息显示,在js代码中直接使用

window.open(url,“_blank”,option);

即可实现跳转,而且还可以传递一些参数。

但是有个问题是,很多浏览器不支持代码触发上述代码,这个问题在平常使用中显得很不方便,尤其是我们经常用ajax返回值来触发一个新页面。

为了防止被屏蔽,可以有两种方式解决。 1、在用户点击事件中增加监听程序

<button onclick=“test()”>点击</button>
<script type=“text/javascript”>
var is_finished=false;
function test(){
$.get(“/”,function(){
is_finished=true;
});
test2();
}
function test2(){
if(is_finished){
window.open(“http://www.baidu.com”,“_blank”);
}else{
setTimeout(test2,1000);
}
}
</script>

2、在点击后先打开空白页,之后再修改地址

<button onclick=“test()”>点击</button>
<script type=“text/javascript”>
function test(){
var frame=window.open(“about:blank”,“_blank”);
$.get(“/”,function(){
frame.location=“http://www.baidu.com”;
});
}
</script>
最近的文章

PHP可变变量

什么叫可变变量不知道大家在使用php的时候是否遇到这样一种情况,即想将一个变量的内容作为另一个变量的名称。在php中,这个需求可以通过可变变量(Variable variables)来实现。可变变量的一般形式为:$var=“foo”;$$var=1;在这里, 其实等同于向将var展开,然后再以它的值作为真正的变量名$foo=1;可变变量妙用类的动态实例化$var=“foo”;$a=new $foo;循环定义变量for($i=0;$i<10;$i++){${aa.$i}=“a”;}动态...…

PHP继续阅读
更早的文章

PHP操作Session的原理及提升安全性时的一个问题

Session和Cookie基本介绍相同点:两者都是保存用户的临时信息,以方便用户和网站之间的交互不同点:Session保存在服务器端,只有服务器端才可查看和修改。服务器端通过客户端在cookie中携带的session_id来获得保存在服务器端的用户数据。Cookie保存在客户端,服务端和客户端都可以对其进行修改。Session的工作原理首先测试如下一段代码<?phpsession_start();//开启sessionecho ‘Session id:’.session_id()....…

PHP继续阅读