在网页中添加社交媒体资源时,传统方法会导致从其他域加载大量外部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&width=292&height=180&colorscheme=light&show_faces=true&border_color&stream=false&header=false" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:292px; height:180px;" allowtransparency="true"></iframe>
Twitter和Google Plus脚本执行非常类似的任务,只是添加 小的HTML块进入页面。
为什么不只编写那些iFrame,图像和锚点HTML?
答案 0 :(得分:1)
您提到的大多数脚本也在后台跟踪用户行为。此外,在加载JS文件时,提供者(例如Google)可能会更改此类脚本附带的功能。当您只是添加静态文件或自己编写所需的HTML时,这并不容易。
答案 1 :(得分:0)
它不会干扰您的网站效果。每个js应该加载多个资源,这不应该影响它们嵌入的站点。
答案 2 :(得分:0)
您所指的库不仅仅是添加简单的iFrame。它们还引用框架内的对象。就性能而言,唯一的问题是它们托管js文件的网站是否会停止运行。
答案 3 :(得分:-1)
首先,任何Javascript都是客户端应用程序,因此您不必担心布局这些组件所需的性能。 其次,这些文件非常小,因此流量可以忽略不计,即使iFrame是HTML格式,也需要某种连接才能获得它,对吧?因为很明显,你不能只在你的代码中静态地放置like-button(出于可维护性的原因)