将社交媒体的外部Javascript加载到网页中的目的

时间:2012-10-16 13:42:50

标签: javascript html performance social-networking webpage

在网页中添加社交媒体资源时,传统方法会导致从其他域加载大量外部JS,只是为了加载iframe或具有品牌形象背景的锚点。可能以下是通过网络传输最多的文件(在http://www.google-analytics.com/ga.js 36.35KB之后,这对许多人来说是不可避免的)

http://connect.facebook.net/en_US/all.js 181.30KB(59.06KB gzipped)
https://platform.twitter.com/widgets.js 75.19KB(24.42KB gzipped)
https://apis.google.com/js/plusone.js 16.71KB
http://assets.pinterest.com/js/pinit.js(这很小,但仍然不需要连接)

  

例如,http://connect.facebook.net/en_US/all.js只做一个   事情:添加iFrame <iframe src="//www.facebook.com/plugins/likebox.php?href=http%3A%2F%2Fwww.facebook.com%2Flavishdream&amp;width=292&amp;height=180&amp;colorscheme=light&amp;show_faces=true&amp;border_color&amp;stream=false&amp;header=false" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:292px; height:180px;" allowtransparency="true"></iframe>

     

Twitter和Google Plus脚本执行非常类似的任务,只是添加   小的HTML块进入页面。

为什么不只编写那些iFrame,图像和锚点HTML?

4 个答案:

答案 0 :(得分:1)

您提到的大多数脚本也在后台跟踪用户行为。此外,在加载JS文件时,提供者(例如Google)可能会更改此类脚本附带的功能。当您只是添加静态文件或自己编写所需的HTML时,这并不容易。

答案 1 :(得分:0)

它不会干扰您的网站效果。每个js应该加载多个资源,这不应该影响它们嵌入的站点。

答案 2 :(得分:0)

您所指的库不仅仅是添加简单的iFrame。它们还引用框架内的对象。就性能而言,唯一的问题是它们托管js文件的网站是否会停止运行。

答案 3 :(得分:-1)

首先,任何Javascript都是客户端应用程序,因此您不必担心布局这些组件所需的性能。 其次,这些文件非常小,因此流量可以忽略不计,即使iFrame是HTML格式,也需要某种连接才能获得它,对吧?因为很明显,你不能只在你的代码中静态地放置like-button(出于可维护性的原因)