【问题标题】:Where should I include JS files我应该在哪里包含 JS 文件
【发布时间】:2010-10-30 03:29:06
【问题描述】:

我有一个 PHP 应用程序,其中有一个 div 容器,其中包含来自 URL 字符串的 $_GET 的应用程序。

目前,有两个应用程序需要 TinyMCE,一个应用程序需要 jQuery 和 jQuery UI。

问题是,我应该将文件包含在页面的什么位置?

在标题中,页面加载非常慢,>30 秒(现在

JS 文件已经被压缩和压缩。

TinyMCE 不会 gZIP,因为安装了 Zlib(由于 GD),那么我应该如何优化这种情况?

【问题讨论】:

  • 30 秒?!您的问题可能出在其他地方...
  • 好吧,根据萤火虫的说法,它们是瓶颈。每隔一个页面在 3 秒内加载,其中 js 曾经包含在 div 中的包含文件中:)

标签: javascript html include


【解决方案1】:

【讨论】:

  • 那么你应该修复那个脚本。找出失败的原因并修复它。
  • 话虽如此,现在唯一失败的脚本是 tinymce,因为它希望在调用 textbox 标签之前加载所有内容。
  • 其网站上的示例即使在表单之后加载脚本也可以正常工作。
  • 我似乎找不到您要引用的页面。
【解决方案2】:

在底部并在文档完全加载时运行您的脚本(使用“onload”事件)。

【讨论】:

  • 现在唯一失败的脚本是 tinymce,因为它希望在调用 textbox 标签之前加载所有内容。
【解决方案3】:

通过将 JavaScript 文件放置在结束 BODY 标记之前,您可以在加载 JavaScript 文件的同时加载页面的其余部分。如果将它放在 HEAD 部分,页面将一直挂起,直到脚本加载为止。

如果在标题中加载需要 30 秒,那么您可能会遇到不同的问题。 TinyMCE 的加载时间不应超过 30 秒。

【讨论】:

  • 我认为 30 秒更多是因为我现在的连接很糟糕 - 使用另一个路由器将其缩短到 10 秒以下。
【解决方案4】:

这可能没有一个正确的答案。

通常将 javascript 放置到 <head> 可以正常工作,但 30 秒太多了。我正在开发一个 JavaScript 应用程序,它可以动态加载大约 70 个未压缩的 javascript 文件(有些非常大),并且不需要 30 秒左右。

信息太少,无法解决。

【讨论】:

  • 好的 - 30 多岁一定是因为我的连接不好 - 现在看到不到 10 多岁
【解决方案5】:

有多少个JS文件?如果它很多,那么您可能想查看 Steve Souders 的幻灯片,了解更快的网站。下载 JS 文件是一个阻塞动作。 Souders 有一个很好的解决脚本阻塞的方法。查看http://www.thebitsource.com/2009/03/14/sxsw-interactive-2009-steve-souders-on-even-faster-web-sites/的PPT

另外,你从哪里为 JS 提供服务?尝试从 Google AJAX Libraries API 提供 jQuery。它使用他们的 CDN 和缓存很长一段时间。所以用户只需要 dl 文件 1 次。

【讨论】:

  • 有3个。由于性质原因,它会在外网和内网上,不能从CDN加载,但我会从外网点包含它查看并返回发生的情况:)
【解决方案6】:

我希望我的 JS 代码与 XHTML 完全分离,因此将其放在正文结束标记之前的内联 HTML 对我不起作用。

我在 html 头中声明了一个 JS 文件。然后将所有库等复制/粘贴到该 JS 文件中。这将产生一个 HTTP 请求,这也会加快移动浏览器的速度。

然后我使用 Prototype 启动 DOM 敏感函数:

document.observe("dom:loaded", function) { // code goes here });

【讨论】:

    猜你喜欢
    • 2021-02-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-24
    • 2013-05-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多