google的js库被墙的解决方法

2012-11-11 02:31:11 +08:00
 BigZ
我封装成了一个django的tag,大家可以直接用,也可以改写成其他语言的模板函数,自适应的啊
代码地址: http://lutaf.com/49.htm
15810 次点击
所在节点    程序员
23 条回复
ejin
2012-11-11 04:36:55 +08:00
看到这种代码特别郁闷,为什么非要都用Google的js库呢?

明知道容易被墙,我经常打开别人博客,打开糗事百科,打开很多网站都是这样,现在Google出问题的时候来了,页面半天被这个js给阻塞不显示了,还要优先用Google,自己文章也说了,微软跟中国的关系好不容易被屏蔽,容易被屏蔽的反而优先?

一个几十k的js文件放自己网站上又能有多大问题?能架设个网站会连这点流量都舍不得?你是真没有体会过还是假没有体会过ajax.googleapis.com出问题的时候是什么情况?是页面一直都是白板,几十秒都是,甚至要等几分钟才会超时。其原因就是开发者不考虑国情,jq的库在微软,在新浪都是有的,都用那些稳定的不好吗?就算那些大公司提供的可能有一天出问题那么自己网站放个js文件又怎么了?
jybox
2012-11-11 04:45:38 +08:00
@ejin 不光是流量,使用公共的库,可以在多个网站间共享缓存

如果不考虑墙的问题google应该算是最稳定的。但现在这情况嘛,用国内一些站点的库比较好一些
ejin
2012-11-11 04:45:59 +08:00
标题还美曰其名解决办法,真正的解决办法是把js放到本地,用自己网站服务器来存储和引用,这样你网站能打开的时候js库绝对没问题,你的解决办法是先调用google,google的不行再调用微软,但是谷歌的墙不是说这个库获取不到马上会返回404返回502或者直接返回无法连接,而是最讨厌的一直连接不上,但是又不会断开,一定等到超时,这时候页面一直白屏,其实页面其他资源早就下载完了。你觉得问题解决了?是的,js是能正常运行了,但是那卡住白屏的几十秒甚至几分钟,是问题解决的现象吗?你们有测试过自己的代码吗?看到别人有个所谓的“解决办法”就开始疯狂的转载传播,这样类似的代码我在这几天已经看到无数次了。我真的希望你们不要再误导别人了。
ejin
2012-11-11 04:52:56 +08:00
@jybox 你这个原因我懂,但是我已经不是一次两次遇到因为引用Google的JQ库白屏的网站了,是非常多,Google的这个js库被墙是什么状态?一直提示正在连接ajax.googleapis.com.然后页面一直白屏卡住,如果再像楼主的那样代码,先调用Google的然后在调用不成功的时候(等白屏超时结束了!)才做出选择,有什么用?页面都卡了几十秒甚至更久了。

我知道Google的这个非常好,是的我一直觉得Google的很多东西都好,但是像这种经常被墙的情况下,是不是该考虑使用其他的呢?如果比速度的话我想新浪的不会差很多。但是不会被墙,这个绝对是Google无法比的,就算新浪觉得不靠谱,微软总可以吧?什么微软都不放心?那还是放自己网站吧!

像我们懂点翻.墙的,就可以写个规则直接避免,但是对于普通用户是非常无奈的。如果你是一个普通用户,打开一个网站常常每个页面都要白屏几十秒甚至几分钟,你是何感受?
ejin
2012-11-11 05:04:18 +08:00
@jybox 还有我觉得如果开发的程序是给没有自主维护能力的使用的话,尽量使用网站自身的空间存储和引用比较好,我觉得稳定性还是比较重要的,说白了就是几十k的东西,一张图片也差不多这么大,如果是网站掌握在自己手里,那不管用什么,出问题的时候自己能处理切换都是可以的。
BigZ
2012-11-12 22:41:58 +08:00
@ejin 这位兄弟太耿直了
js用google cdn是国际通行做法,主要是国情太变态了,我也赞同用本地js的说法
sobigfish
2012-11-12 22:51:50 +08:00
囧,一般的办法是google的没生效用自己host的,你这2个都是外部调用,在2个都被墙的时侯就杯具了。
BigZ
2012-11-12 22:53:58 +08:00
@sobigfish 微软产品历史没有被强奸过啊,盖主席是党员
sobigfish
2012-11-12 23:06:50 +08:00
@BigZ 考虑极端情况么,比如有过2 3次的无法访问国外网站那种时候。
或者MS 忘了续费aspnetcdn.com,JK...
BigZ
2012-11-12 23:17:21 +08:00
@sobigfish 那会是全球轰动新闻
xinyu198736
2012-11-12 23:25:27 +08:00
为啥不用 淘宝的 腾讯的 微博的。

这些都很稳定,而且cdn都是只增不减的,不会无故消失掉。。。
而且这些网站的cdn的速度都是一流的。。。。
BigZ
2012-11-12 23:34:27 +08:00
Narcissu5
2012-11-13 00:23:47 +08:00
一个请求几十k,成百上千个请求呢?尤其是走3G网络的,还是蛮吓人的。
tshwangq
2012-11-13 02:32:19 +08:00
服务器端判断一下ip得了。
enj0y
2012-11-13 03:14:50 +08:00
如果是jQuery,希望对大家有用。
国内外jQuery源分享: http://www.it68.com.cn/2012/10/jquery_9338.html
upupxjg
2012-11-14 20:33:30 +08:00
好多云服务商都有免费的JS提供 比如sae。。。 速度快稳定性也还行
ejin
2012-11-15 19:24:52 +08:00
@BigZ 还是那句话,你这个代码在google被墙的时候卡上几十秒甚至几分钟,这段时间我这里都是这个样子(江西电信),我不知道其他地方是什么情况,但是这样的情况已经出现了很多次,你这所谓的解决办法可以说是问题得不到解决,还继续传播下去只会害了更多人,生产环境稳定为先,为什么门户网站不去用这个免费的资源呢?光是速度问题吗?那SAE的会很慢吗?自己想想吧。
ejin
2012-11-15 19:31:10 +08:00
@Narcissu5 别人会缓存你自己服务器就不会缓存吗?一个几十k成千上万很多?你的网站再大,和门户网站比起来又如何?为什么门户站都是用自己的不去用SAE提供的源呢?难道速度会比门户站慢多少么?我看不见得。都是国内而且有CDN,为什么不去省这个流量呢?

生产环境最重要的是稳定,Google的源已经在国内被XXX过很多次了,每次出问题的时候,会阻塞页面几十秒,不是你写个判断就能跳过的,亲身体会,如果开发者还在没头脑的疯狂传播,受害的最终还是用户。开发程序必然要考虑到未来的各种因素,稳定才是最重要的,如果Google容易出问题,为何不微软的源优先呢?微软的速度慢为什么不用新浪的SAE的源呢?

好好想想吧
BigZ
2012-11-15 19:34:05 +08:00
@ejin 帅哥,你太执着了,我怕了,http://lutaf.com 已经换成本地jquery了,请检查
ejin
2012-11-15 23:05:52 +08:00
@BigZ 不是我太执着,是你那之前代码根本解决不了问题,你的代码确实可以让那些依赖jq的代码可以继续运行,但是网页白屏阻塞几十秒的问题依然得不到解决,这个主题里已经不止一次不止一人谈到了效率缓存等等,试问一下,html几百毫秒甚至1-2秒就能加载完,但是要干等着google的这个js阻塞导致白屏几十秒,然后判断jq是否加载成功的判断才会执行,就算jq最后成功加载了,又有什么意义。

楼主传播解决办法是好的,但是不能一味的转载而不去了解这代码是否真正的解决了问题,Google的这个情况是比较特殊的,我也觉得Google非常好,但是国情导致这样是没有办法的,但是出了问题该抛弃的还得抛弃,生产环境稳定为先,不可能三天两头换来换去的。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/52305

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX