关于页面被拦截的问题

  作者:bea

ie 2. TT 3. maxthon chrome , firefox 默认安装是没有页面拦截的, 都有一些对应的插件 测试的时候不能在本地测试, 要把页面放到http 服务器上。1. ie 页面拦截设为高, 所有方式都无法在新页打开。 拦截设为中, window.open , 直接写的页面上, new 一个a click,以及form submit 都可以打开页面, timeou

 ie 

 
           
              

     2.   TT
                 
 
     3.  maxthon
                                  
  
 chrome , firefox 默认安装是没有页面拦截的, 都有一些对应的插件
 
测试的时候不能在本地测试, 要把页面放到http 服务器上。 1. ie 页面拦截设为高, 所有方式都无法在新页打开。 拦截设为中, window.open , 直接写的页面上, new 一个a click,以及form submit 都可以打开页面, timeout 不能打开页面。 拦截设为低, 以上几种方式都可以打开。 ie6 submit 方式后会在url 后加上 ? 如http://www.baidu.com/? 2. maxthon 不继承ie的拦截设置。 maxthon 支持一定时间的timeout open , 现在测试大概是850 ms, 以上几种方式在timeour 大于850 不能打开页面。 3. chrome chrome不支持timeout open 的方式, 跟ie 的一致。 4. TT TT 自定义屏幕模式下不能用脚本打开新页面。 5. firefox firefox 默认的方式没有拦截, 以上方式都可以打开。 代码


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>title</title>
<style type="text/css">
a {
display: block;
margin : 10px 0;
border: 2px solid #555;
width: 500px;
}
</style>
<script type="text/javascript">
// chrome, maxthon 不拦截 ie拦截水平 '中' 会拦截
function test0() {
window.open('http://www.baidu.com');
}
function test_10() {
setTimeout(function() {
window.open('http://www.baidu.com');
}
, 10);
}
function test_local_100() {
setTimeout(function() {
window.open('http://' + location.host);
}
, 100);
}
function test_local() {
window.open('http://' + location.host);
}
// maxthon 不拦截 ie拦截水平 '中' 会拦截
function test() {
setTimeout(function() {
window.open('http://www.baidu.com');
}
, 500);
}
// maxthon 不拦截 ie拦截水平 '中' 会拦截
function test1() {
setTimeout(function() {
window.open('http://www.baidu.com');
}
, 850);
}
// maxthon 拦截 ie拦截水平 '中' 会拦截
function test2() {
setTimeout(function() {
window.open('http://www.baidu.com');
}
, 900);
}
// maxthon 拦截 ie拦截水平 '中' 会拦截
function test3() {
setTimeout(function() {
window.open('http://www.baidu.com');
}
, 1000);
}
// 以上几个在chrome 下拦截
//
// maxthon 不拦截 ie拦截水平 '高' 会拦截, firefox , chrome 不支持
function test4() {
var a = document.createElement('a');
a.href = "http://www.baidu.com/";
a.target="_blank";
document.body.appendChild(a);
a.click();
}
function test_ope() {
var a = document.getElementsByTagName('a');
for (var i = 0, len=10000; i < len; i++) {
for (var j = 0, len=a.length; j < len; j++) {
1
}
}
window.open('http://www.baidu.com');
window.open('http://www.baidu.com');
}
//
</script>
</head>
<a onclick="test0()">window.open</a>
<a onclick="test()">timeout 500ms window.open</a>
<a onclick="test1()">timeout 850ms window.open</a>
<a onclick="test2()">timeout 900ms window.open</a>
<a onclick="test3()">timeout 1000ms window.open</a>
<a onclick="test4()">new a click</a>
<a onclick="test_10()">timeout 10ms window.open</a>
<a onclick="test_local()"> window.open local domain</a>
<a onclick="test_local_100()">timeout 100ms window.open local domain</a>
<a onclick="test_ope()">test operation open</a>
<!--都不拦截-->
<a href="http://www.baidu.com/" target="_blank">a href target blank</a>
<a href="http://127.0.0.1/" target="_blank">a href target blank local domain</a>
<div onclick="test()">div time 500</div>
<button onclick="test()">button time 500</button>
img time out 500
<img src="http://files./upload/2010-2/20100208075304466.gif" onclick="test()" />
<!--firefox, maxthon下测试ok, ie下测试在本页打开可以就是说不设target, 或者target= "" , 新页面打开在ie 的拦截设为高不行 chrome,下弹出一次, 关掉那个页面, 再点就没有反映了-->
<form action="http://www.baidu.com" target="xxx" method="get" accept-charset="utf-8">
form submit
<p><input type="submit" value="Continue →" /></p>
</form>
<body>
</body>
</html>




[Ctrl+A 全选 注:
如需引入外部Js需刷新才能执行]

小结一下:
1. 应用要在新页打开,使用 a 加上 href 把别的一些功能放在onclick 上, 如
<a href="http://www.baidu.com" target="_blank" onclick="alert(1)"></a>
2. 一些应用要在新页打开,跟cgi在关的, 可以使用http 302 跳转
<a href="http://www.example.com/cgi?myid=1" target="_blank" onclick="alert(1)"></a>
http://www.example.com/cgi?myid=1 将跳转到你想要的页面
3. 一定要用js在新页打开页面的, 用window.open 就可以
<a href="javascript;" onclick="window.open('http://www.baidu.com');return false;"></a>



有用  |  无用

猜你喜欢