首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >javascript排序

javascript排序
EN

Stack Overflow用户
提问于 2012-03-13 20:27:52
回答 4查看 66关注 0票数 0

当我的网站第一次加载时,它运行一个小脚本来识别用户正在使用的设备。

在实验中,我添加了大量的旧设备等等。但反过来,注意到所有设备(包括PC)的初始加载速度都受到了影响。

例如,如果我要在脚本的最顶端写下这行代码:

如果是iPhone,则转到另一个javascript文件。

每个设备还会读取它,进入javascript文件并读取所有内容,从而像已经做的那样浪费时间吗?

基本上,如果我拆分我当前的设备识别器脚本,我会看到性能的提升吗?

我知道代码是自上而下运行的,但顶部的一些设备仍然需要几秒钟的时间才能稳定下来,比平时更长,就像它们运行整个脚本一样,因为它在一个大文件中。

EN

回答 4

Stack Overflow用户

发布于 2012-03-13 20:32:34

如果你加载一个脚本,它总是在执行之前被解析。因此,在脚本中添加条件只会阻止代码实际执行,每次都会加载和解析代码。

如果您希望防止加载和解析不需要的脚本,则需要一个脚本来有条件地加载另一个脚本。

票数 1
EN

Stack Overflow用户

发布于 2012-03-13 20:30:57

我会动态加载额外的JS,如下所示:

代码语言:javascript
复制
var isIphone = (function(){ /*determin if is iPhone, return true or false*/})();

if (isIphone){ 
  var iPhone_js = document.createElement('script')
  iPhone_js.setAttribute("type","text/javascript")
  iPhone_js.setAttribute("src","/root/to/iphone/js")
 }
票数 0
EN

Stack Overflow用户

发布于 2012-03-13 20:35:22

您可以通过查看User Agent字符串来检查客户端正在使用的设备:

http://en.wikipedia.org/wiki/User_agent

然后,您可以为每个设备返回不同的HTML(包括不同的脚本)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9683871

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档