网络编程
位置:首页>> 网络编程>> JavaScript>> 浏览器根据什么来判定脚本失控?[译](2)

浏览器根据什么来判定脚本失控?[译](2)

作者:明达 来源:七月佑安 发布时间:2009-02-20 13:36:00 

标签:浏览器,脚本,web,运行时间

Safari

Safari同样根据脚本引擎持续执行脚本的时间来判断,当我对Webkit的源代码进行反复研究后,发现默认的超时时间是5秒,一旦达到这个上限,就会给出下面的对话框提示:

对话框提示:“在页面url上的脚本让Safari失去响应,你是要继续运行脚本还是终止脚本”。同样的,对于用户来说,也不是什么可怕的提示。在Safari中,可以关闭失控脚本的检测功能。

Chrome

Chrome在跟踪技术上有点狡猾,失控脚本检测功能似乎和tab的事故控制(crash control)关联到一起。我仔细看了源代码,却没有找到具体的限制,但基本确定的是,这个限制是以时间为基础的,估计在10秒左右(要么是5秒,要么 是10秒,总要和Safari或者Firefox看齐么)。我正在联系Chrome项目组中的朋友,看看能不能得到确定的信息。尽管如此,如果网页中存在 失控的脚本,用户还是会看到下面的对话框:

毫无疑问,Chrome的提示比起其他浏览器来说,显得都更加严重。点击“Wait”按钮,脚本会继续运行,直到达到下一个上限为止,也可以点击“Kill pages”,直接关闭该页面在内存中的所有信息,并用一个空白页取而代之。

Opera

Opera的情况比较有趣:他貌似没有针对失控脚本的相应限制。我运行了几个很长的测试,甚至花了几分钟,而在这个过程中,浏览器一直可以正常响应,这很出我的意料之外。我不是很确定,对于现在的情况来说,这个方法是好是坏,但至少它生效了,不是么?

一些建议

无论你的用户使用什么浏览器,都不应该在任何时候看到类似的提示。在你的网站或者Web应用程序作为产品发布之前,做一些常规的性能测试是非常有必要的。在这方面有很多工具可以加以利用,比如Firebug’s profiler(只支持Firefox)、YUI Profiler (支持全部浏览器)或者Internet Explorer 8’s Profiler。 你应该毫不犹豫地将那些执行时间超过100毫秒的脚本找出来,哪怕这些脚本只是在某些浏览器上运行不畅,这些脚本包含了一些需要执行很长时间的代码段,而 这些代码应该通过性能检测工具进行重新评估。确保你不是使用Chrome作为测试的底线,因为Chrome在执行JavaScript的速度上比其他浏览 器要高出一个数量级(和Firefox 3.1还有最新的WebKit Nightly相当)。最好使用Internet Explorer作为测试的底线,然后再测试其他浏览器,因为无论什么时候,IE的JavaScript引擎都是最慢的,当在IE上修复问题以后,十有八 九在其他浏览器上也可以正常运行了。

0
投稿

猜你喜欢

  •    Entity Framework 4.0 也可以支持大名鼎鼎的MySql,这篇POST将向展示如何实现EF+MyS
  • 在DreamWeaver中编写CSS,这种编写习惯并不提倡,不过由于"可视化"和操作简便,使用的朋友依然很多,今天罗列一
  • 先 Create table 吧create table emp(id int not null primary key,name varc
  • 设计,用户说好,才是真的好!14期的友商联线,同事认为风格不美观,需要重新设计。这次,我们引入了用户调研,调研数据可以帮助我们快速决策!ED
  • 作者:Dmitry @ Usability Post  版权所有 Copyright.译者:明月星光 @ UCD翻译小组原文:ht
  • 简单的说,一个数据库管理系统应该的提供的基本服务有两种:1.数据访问。对每个数据库管理系,数据访问服务都包含一下几种(1)插入--向数据库中
  • 另:@会影响效率如:@mysql_connect()    可以导出错误,但会影响效率。mysql与mysqli的区别:
  • 在编写 XMLHttpRequest 请求时,需要掌握服务器端返回的内容。针对 Firefox 浏览器,我们常用的 Firebug 就能非常
  • 有时候要通过asp代码在数据库中创建表和列,下面的就是这些操作的函数。1.检测表是否存在tbName 检测的表的名称dbTp 数据库的类型1
  • 刚刚有人问我二年前写的那个小三角的效果还能作出什么样的效果,我正在看电视,画面上出现了这样一个小灯笼,于是,我就说,可以作个小灯笼玩玩。于是
  • 查询速度慢的原因很多,常见如下几种:1、没有索引或者没有用到索引(这是查询慢最常见的问题,是程序设计的缺陷)2、I/O吞吐量小,形成了瓶颈效
  • 一切从一个糟糕的浏览器开始,它完全不支持 XHTML。什么是 MIME Type? 为什么这么说呢?首先,我们要了解浏览器是如何处理内容的。
  • 我们在网页中使用CSS来设置网页、表格和字体大小,一般使用的是网络上较流行的9磅字:<STYLE type=TEXT/CSS
  • 根据google最新的算法规则:用户行为模式的重视程度越来越高,这也就要求网页设计的时候应注意“合理的网页结构”,SEO业界也有个共识“网页
  • //关闭,父窗口弹出对话框,子窗口直接关闭this.Response.Write("<script language=jav
  • 本教程主要介绍css的基础知识,将逐个讲解css的各个属性,过程可能比较枯燥,但会尽力多举例说明.作者的网站:http://jorux.co
  • 不是很难哦,我们现在就可以实现VBScript在服务器端验证,就是下面的函数:<%FUNCTION TestString(S
  • 这周心血来潮,翻看了现在比较流行的几个JS脚本框架的底层代码,虽然是走马观花,但也受益良多,感叹先人们的伟大……感叹是为了缓解严肃的气氛并引
  • 上一课:ACCESS入门教程:初识Access 2000窗口接口简介 通过上一课的学习,你是否感觉Access的窗口和接口还有点搞不清楚,对
  • ASP中转换unicode编码为GB编码方法:<% function urldecode(encodestr) 
手机版 网络编程 asp之家 www.aspxhome.com