从 Web 加载 js 文件或自己提供它们
Load js files from the web or serve them yourself?
我有这个问题已经有一段时间了,我很惊讶我还没有找到一个好的/完整的答案。
问题本质上是这样的:在加载js文件时,在什么情况下你应该从Web加载它们(如果可用)而不是自己提供它们?什么情况通常允许最低延迟?
例如
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
与。
<script src="js/jquery-1-11-3.min.js"></script>
完整答案:两者都有。
将其从网络上加载将在以下几种方面使您受益:
1) 浏览器可以拥有的最大打开 HTTP 请求数有限制。但是,此限制是针对每个域的。因此,联系谷歌的服务器不会阻止您加载CSS/图像。
2)用户很可能已经缓存了该文件,因此他们将获得HTTP 304 not changed
响应,而不必下载该文件。
现在,话虽如此,有时服务器会关闭,或者网络问题会阻止您加载该文件。发生这种情况时,您需要一个解决方法,我们可以这样做:
<script>
if (typeof jQuery == 'undefined') {
document.write(unescape("%3Cscript src='/js/jquery-2.0.0.min.js' type='text/javascript'%3E%3C/script%3E"));
}
</script>
在从 CDN 加载 JQuery 后放置此标记,如果加载失败,jQuery
将未定义并继续从本地源加载它。如果来自 CDN 的负载有效,则将跳过此块。
包括来自自己的服务器专业人士:
-
从技术上讲,谷歌服务器可能会关闭,您的网站将无法正确加载。
-
不信任谷歌并被阻止、脚本被阻止等的人。这些 ppl 也不想直接包含来自谷歌的文件。
-
与谷歌的连接可能会有更高的延迟。 如果您的受众群体在自己的国家/地区并且拥有良好的提供商,那么您的 Connec 可能会比 Google 更快。
魂斗罗:
-
更高的网络服务器流量
-
更多连接
-
更高的 CPU 影响
你必须自己决定,哪一个更适合你。对于较小的网站,我会选择本地存储的文件。
- Javascript:selenium Web驱动程序isDisplayed()不工作
- 在Web应用程序中使用Highcharts javascript
- WebDriverException:tinyMCE未在selenium Web driver java中定义
- 如何通过自己获得Chrome扩展的用户反馈/错误报告
- Selenium Web驱动程序和javascript
- Windows形成web浏览器控件和Javascript更改的DOM
- 按我自己的类克隆另一个元素的内容和顺序
- 如何将javascript事件从web浏览器wpf控件发送到wpf的c#代码
- Steam Web API:I'我不知道该如何处理这个看起来像哈希的url来生成图像
- 在调用speak之前预加载Web Speech API
- 如何在visualstudio中调试web api时编辑javascript文件
- 如何配置分析以将数据发送到我自己的服务器
- 是否存在React Native“;WEB代码安全防护”;
- 如何在Ionic Android中将Javascript注入到web视图中
- 如果web托管版本失败,请添加我自己的.js库版本
- 允许用户将自己的 JavaScript 插入我们的 Web 应用程序会产生哪些安全后果?
- 如何使用Google客户端API gem在自己的web应用程序上显示可视化交互式日历
- web组件如何尽快获得自己的样式(宽度等)
- 使用自己的web服务api上传文件
- 从 Web 加载 js 文件或自己提供它们