作者KC73 (肯先生)
看板Ajax
标题[问题] 侦测 Chrome 是否允许弹出式视窗
时间Thu Oct 7 08:48:34 2010
在写侦测浏览器可不可用弹出视窗的时候,发现一个奇怪的现象,发生在
Chrome 6.0.472.63 上面。
<div id='tt'>test</div>
<script type='text/javascript'>
setTimeout((function(){window.open("ttt.html");}),2000);
</script>
直接点这个连结就是这内容
http://boom.site90.com/tt.html
就是两秒後会开一个新视窗,不过当然会被封锁,因为 Chrome 预设不允许弹出式视窗
的。
不过尴尬的是,过了两秒以後,新视窗虽然没有弹出来,但是原先的「test」四个字母,
变成「window opened!」。
「window opened!」哪来的?是不被允许的弹出视窗 ttt.html 的内容:
<script type='text/javascript'>
opener.document.getElementById('tt').innerHTML = 'window opened!';
alert('opened!');
</script>
然後那个 alert 没有执行,但是它的上一行显然有执行。
各位的 Chrome 也是这样的状况吗?
在 Firefox、IE、Opera 底下,没有这样的状况。
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 118.166.128.135
1F:推 drcula:Chrome的禁止弹出式视窗是假的,只是看不到,实际上有读进来 10/09 13:00
2F:→ drcula:上26网站就有发现,明明已经禁止了,也没视窗弹出,但是背景 10/09 13:00
3F:→ drcula:音乐就开始放............,其他浏览器没遇到这种情况 10/09 13:01
4F:→ KC73:啧!Google 那麽讨厌弹出视窗,结果用这种方式处理弹出视窗.. 10/10 03:37
5F:推 drcula:另外其实你的那行alert('opened!')不是没有执行,只是跑了 10/10 09:30
6F:→ drcula:被挡住你看不到就是,所以我才不用Chrome还是用回FF 10/10 09:30
※ KC73:转录至看板 Browsers 10/10 15:31
7F:推 shyangs:很奇怪的特性 10/10 15:52