| VB 源码 | VC 源码 | ASP源码 | JSP源码 | PHP源码 | CGI源码 | FLASH源码 | 素材模板 | C 源程序 | 站长工具 | 站长教程 |

搜索优化

网站运营
网络应用
服务器
搜索优化

本类阅读TOP10

·主机对网站排名的影响
·Google的网站收录和排名原理
·中国大陆TOP 500网站排行榜(Alexa过滤版)
·中文搜索引擎技术揭密:网络蜘蛛
·Google收购百度
·漩涡中的中国首富李彦宏
·Google左侧排名攻略
·提高GOOGLE排名
·检测是否激活阻止弹出窗口功能
·十大Twitter SEO技巧

站内搜索

检测是否激活阻止弹出窗口功能
无论你是否认为弹出窗口是的一种现代形式的鼠疫,就如同蝗虫和布兰妮的CD一样,实事是,它们作恶已经有一段时间了。许多基于网络的应用都使用弹出窗口做一些无用的事情,从显示帮助页面到显示各种不同商品图片不等。不幸的是,如果客户端的浏览器安装了阻止弹出窗口的插件,并且激活了,那么,对于商家来说,对它们使用弹出窗口就是在做无用功。


一种可行的解决方案就是在你的网站到处都写满“此网站使用了弹出窗口,请确保您没有使用弹出窗口阻拦功能”的消息。但是这样做,希望让用户在浏览你的网页的时候不使用弹出窗口的功能似乎不太现实。你需要做的就是检测用户是否使用了阻拦弹出窗口的功能,使你的网站适应浏览需求。

使用一个弹出窗口来阻止弹出窗口
我所选择完成这个功能的办法就是试图去打开一个弹出窗口。当然,这就意味着在我编程过程中必须非常的小心,因为如果我不这么做,在客户端中也许就会出现错误。保持着这种心态,我安装了Google Toolbar ,并且使用一个装载事件处理器(onload event handler)来对页面进行编码,这个装载事件处理器可以检测到阻止弹出窗口的软件。这样做的结果如Listing A和Listing B所示。

在Listing A中显示的方法是那个装载事件处理器(叫做setEvents)被击中,它试图打开一个在Listing B中显示的popupChild.html页面。这样看起来这种办法足够可以确定阻止弹出窗口的功能是否在运作,但是事情不总是这样。这依赖于这个拦截功能安装的没有问题。我们需要的就是使子窗口弹出来显示“Hello,world!”或者什么其它的东西。这个页面使用了setTimeout方法来延时调用checkChild方法;这就给弹出窗口留出了改变父窗口的一个隐藏的输入对象并且关闭它自己所需要的时间。一旦这个工作完成,checkChild方法就会检查隐藏输入对象,确认子窗口是否改变了它的内容。如果它的内容已经被改动过了,那么弹出窗口功能就会生效,这就意味着客户没有使用拦截功能。

在整个测试过程中,有两个最难的部分,就是访问父窗口的隐藏输入对象和估计弹出窗口打开的时间。第一个问题通过使用文档对象模型的window.opener就很容易解决了。第二个部分就更困难一些,毕竟在我使用这些例子的时候,浏览器和服务器都在同一台机器上。所以,即使这些例子在我这里运行正常,可是,它们对于其他人也许就不适用了。必须还要找到一条更好的办法。

一个更好的办法
对于JavaScript而言,有一件有趣的事情,就是它不受浏览器影响,它是相对一致的。如果一个状况在一个浏览器上出现了,奇怪的是,在其它浏览器上出现这个状况的可能性会很小。例如,使用对象编写警告代码,在微软的Internet Explorer 中会显示“[object]”而在Mozilla中会显示“[object Window]”。另外一个有意思的事情就是上述的问题只会在对象创建了以后才发生。大家可以参见Listing C的例子。我们需要注意上述的问题,因为我们仅仅是检查是否打开了阻止弹出窗口的功能,它仅仅是一个空页面。

我之所以编写这段代码,是因为最近有一些开发者和技术支持人员花费了三个小时,在会议室中解决这个问题。远端客户坚持说它们没有使用弹出窗口的拦截功能;直到大家都精疲力尽的时候才有人提出要检查一下客户安装的软件。在接近列表的最末端有一个给客户电子邮件添加可爱的笑脸的程序。只通过简单的检查就发现,这个程序不仅仅有给电子邮件添加笑脸的功能,它同时还可以拦截弹出窗口。用户安装了这个东西,却丝毫没有察觉,这就是我编写代码所希望避免的问题。




相关文章
  • 延长系统对USB设备的检测时间
  • 入侵检测之日志检测
  • 入侵检测(ID)FAQ(初级)2
  • 入侵检测(ID)FAQ(初级)1
  • 黑客避开检测的手段揭密
  • 如何构建一个入侵检测系统(IDS)
  • XP实用技巧:检测网络
  • 相关软件

  • 检测OLE服务器是否支持IConnect  
  • 图象的检测,模板匹配算法代码  
  • 图象的边沿检测与提取,轮廓跟踪算法代码  
  • Intel的CPU检测程序的源代码酷吧!  
  • 通过往端口写文件检测机器的端口状态  
  • 检测Pentium CPU的时钟  
  • 检测机器操作系统的版本  
  • 图象的边沿检测与提取,轮廓跟踪算法代码  
  • 图象的检测,模板匹配算法代码  
  • 用差影法检测图象  

  • 下载首页关于我们广告服务联系方式常见问题隐私声明法律条款本站声明下载帮助发布软件站点地图谷歌卫星地图