Tengs

Design & Develop

  • 言论自由
  • 技术文档
  • 日常琐事
  • 其它东西

js

360安全浏览器不支持js弹出窗口某些属性探究

2010年8月4日 / 3 Comments

这阵子写一个asp.net的系统,想在GridView中插入一列超链接,并用JavaScript弹出一个窗口,查看GridView给出条目信息的相关详细。本来以为用个HyperLinkField,再简单不过,搞了很久,老是出错,Google了一番,才知道原来是因为.NET 2.0中不再支持 DataNavigateUrlFormatString=”JAVASCRIPT:……” 的写法,所以也就不能直接写JS了。解决方案是在后台代码页中添加RowDataBound事件:


protected void *_RowDataBound(object sender, GridViewRowEventArgs e) { 
    if (e.Row.RowType == DataControlRowType.DataRow) { 
        e.Row.Cells[*].Text = "<a href=""javascript:"" onclick=""javascript:var List = 
        window.open('*.aspx','查看','top=150,left=50,toolbar=no, menubar=no,scrollbars=yes, resizable=no, location=no, status=no, width=850,height=400');"">查看</a>""; 
    } 
}

写完后习惯性地F5运行了一下,由于我的PC上默认的浏览器是360安全浏览器,所以直接用的是360打开,点了一下“查看”的链接,发现确实是有打开一个新的页面,然而却不是预想中的网页小窗口的形式(定义中width=850,height=400),这里打开的是类似于target=””black””的一个新的浏览器窗口;郁闷不已,原本准备重新Google一番的,突然记起之前写css时候曾受360的千番折磨,遂抱着试试的态度顺手打开了Firefox,不料仅能顺利的弹出一个小窗口,又用了chore试验,成功。一时火气,真想把360浏览器卸了。分析了一下,除了得出这是内核的问题外似乎没有其他什么可能,遂在开始菜单中翻找出IE8,打开,不料也能正常弹出一个小窗口。很不服气,再试了一下搜狗浏览器,发现和360一样的异常。这到底是怎么一回事,貌似JavaScript函数window.open中定义的诸多属性比如width、menubar等等对其并未产生应有的效果。特意下载了一个opera,试了试,正常弹出窗口。又用IE-tester在IE6下试验,有问题。

考虑到在asp.net中测试到底是不怎么客观的,毕竟涉及到太多动态方面的内容,问题很可能来自我并不很熟悉的控件方面,索性动手写了一个html页面,如下:


<html>
<head>
<title></title>
<script LANGUAGE="JavaScript">
function openwin() {
window.open ("test.html", "newwindow", "height=100, width=400, toolbar=no, menubar=no,
scrollbars=no, resizable=no, location=no, status=no");
}
</script>
</head>
<body onload="openwin()">
</body>
</html>

试验在360中还是发现一样的问题。用搜狗浏览器却很神奇得打开了一个IE的弹出窗口(此时我正好运行着IE8)。Google+百度了一阵子,据说360用的的确是IE的内核,而搜狗确是一半ie一半Webkit引擎。

真是无比混乱。无奈中仔细研究了一下360浏览器的工具栏,发现有个管理功能组件的菜单,下面有个广告拦截扩展,点选项进去,弹出一个广告过滤设置的对话框,默认情况下“拦截弹出窗口”是选中状态,一时欣喜莫名,以为找到问题所在了,忙取消掉勾,重启了浏览器,又试了试,还是一样的问题,js并没有弹出一个窗口,而是在浏览器上打开了一个新窗口。莫名奇妙。到底是什么问题使JavaScript在360这样的IE内核加壳浏览器无中法实现预定义功能呢?360又是如何做到限制js的呢?

不得要领,遂决定花时间把这件怪事记录下来,等有精力再深入钻研。


分类: 技术文档 标签: bug, js

一个招新广告

2009年9月22日 / Leave a Comment

<script>
switch(您的兴趣或特长)
case "有天马行空的想法,乐于策划":
alert("您完全可以胜任我们的网站策划Editor");
break;
case "有良好的审美观,爱好ps/ fw":
alert("您不妨来应聘我们的前端设计Designer");
break;
case "有良好的编程思维,喜欢写程序":
alert("我们的程序设计Programmer绝对适合您");
break;
default:
alert("没关系,师青oursdqn.net同样欢迎您!");
</script>

分类: 日常琐事 标签: js, 招新

标签

315 360 ASP ASP.NET bug CentOS CSS CSS 3.0 CSS HACK Google Google图片搜索 Hadoop host文件 HTML5 ie6 IPV6 javascript JDK js osql photoshop php phpMyAdmin 中庸 主流 交易 人生 人类劣根 刷票 哲学 大学 感想 文学 文言文 期末 狂想 现代诗 琐事 科学 箴言 经济 网络安全 视频广告 诗歌 霸位

近期评论

  • 壮敏发表在《讨贼檄文》
  • 黄祺发表在《顿悟》
  • 西班牙超模发表在《致加西亚》
  • 西班牙超模发表在《致加西亚》
  • 糗事百科发表在《IE6 去除 input border》

Copyright © 2023 Tengs.

WordPress Theme by themehall.com

粤ICP备12053888号