使用javascript打开一个新页面可以有几种方式,但各有利弊,以下做下分析
1.window.open(url)
这是新手最常用的方法,好处是简单易用,坏处,很简单,会被很多浏览器拦截而导致功能失效
2.使用js在页面创建一个a标签,然后点击它
示例代码如下:
var a = document.getElementById("entergameform1001");
if(!a){
$(document.body).append('<a id="entergameform1001" href="' + url + '" target="_blank"></a>');
a = document.getElementById("entergameform1001");
}else{
$(a).attr("href",url);
}
a.click();
优点,不会被浏览器拦截,但是两个窗口交互的话,会找不到window.owner
3.使用js创建一个form表单,模拟表单提交
示例代码如下:
var form = document.getElementById("entergameform1001");
if(!form){
$(document.body).append('<form id="entergameform1001" action="' + url + '" method="get" target="_blank"></form>');
form = document.getElementById("entergameform1001");
}else{
$(form).attr("action",url);
}
form.submit();
优点:相关a标签,页面可以获取window.owner。缺点:使用get方式,在部分浏览器中,url里的参数会被过滤掉,必须使用input值来传递。使用post提交时,会被浏览器拦截