JavaScript 在 Firefox 3 中异步加载(根据 Firebug)?

2023-12-21

我正在尝试分析一个网站的性能,我相当有信心该网站由于页面上 JavaScript 文件的加载而减慢了速度。

页面上多次包含相同的 JavaScript 文件,并且<script />标签分散在整个页面而不是包含在底部 http://developer.yahoo.com/performance/rules.html#js_bottom.

正如我所怀疑的,当查看 FireBug 的“Net”选项卡时,大多数时候(不是全部)当 JavaScript 被加载时,不会请求其他文件。浏览器等待 JavaScript 完成加载。

但也有一些例外。在某些情况下,JavaScript 会被加载,但与此同时,其他资源也会被加载,例如其他 JavaScript 文件和图像。

我一直认为 JavaScript 会阻止页面上其他资源的加载。我的想法是否错误,或者这种行为是否因浏览器或浏览器版本而异?

UPDATE:
对于那些已经解释了加载脚本如何阻止其他资源加载的人,我已经意识到了这一点。我的问题是为什么脚本wouldn't阻止其他资源的加载。 Firebug 显示一些 JavaScript 文件do not阻止加载其他资源。我想知道为什么会发生这种情况。


Javascript 资源请求确实是阻塞的,但是有一些方法可以解决这个问题(即:在头部注入 DOM 脚本标签,以及 AJAX 请求),而我自己看不到页面的情况很可能就是这里发生的情况。

包含同一个 JS 资源的多个副本是非常糟糕但不一定是致命的,这是大型网站的典型特征,这些网站可能是由不同团队的工作积累起来的,或者只是简单的旧的糟糕编码、规划或维护。

至于雅虎建议将脚本放在正文底部,这改进了感知到的响应时间,并且可以在一定程度上缩短实际加载时间(因为之前的所有资源都允许先异步),但它永远不会像非阻塞请求那样有效(尽管它们具有很高的技术能力障碍)。

关于非阻塞 JS 的相当不错的讨论here http://yuiblog.com/blog/2008/07/22/non-blocking-scripts/.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

JavaScript 在 Firefox 3 中异步加载(根据 Firebug)? 的相关文章

  • Oo 任何 IDE 中的 javascript 代码补全

    你知道有什么IDE可以自动完成这种代码吗 我这里有一个 javascript 类生成器 function var core bind function method scope if method instanceof Function t
  • 如何将udp发送到udp node.js服务器?

    我对此很陌生 所以我真的不知道我在做什么 但我已经设置了一个 node js udp 服务器 我想从客户端 来自网站 向它发送一个数据包 但我不知道如何在 javascript 中做到这一点 或者是否可能 我不是在研究如何从 Node js
  • 如何更改传单中功能集的样式?

    我正在看等值区域的例子 https leafletjs com examples choropleth https leafletjs com examples choropleth 这是他们使用的数据源 type Feature prop
  • Angular 2 链式 Promise 并传递拒绝

    应该是一个简单的问题 但是我找不到有关如何做到这一点的文档 像这样链接一个承诺 Making a promise no problem let promise new Promise resolve reject gt let data d
  • 动态速度计 javascript 或 jquery 插件

    我希望有动态ajax插件在页面上显示速度计 一个想法是我设置一个背景并旋转针 有人知道相关插件吗 这里有一些供您参考 http bernii github com gauge js http bernii github com gauge
  • 如何在ASP.NET Webform中使用Jquery表单插件?

    我遇到了这个插件 http malsup com jquery form getting started http malsup com jquery form getting started 我想知道如何在 ASP NET WebForm
  • 如何使用canvas.toDataURL()将画布保存为图像?

    我目前正在构建一个 HTML5 Web 应用程序 Phonegap 本机应用程序 我似乎不知道如何将画布保存为图像canvas toDataURL 有人可以帮我吗 这是代码 有什么问题吗 我的画布被命名为 canvasSignature J
  • Ember.js 处理 View 事件后转换到路由

    Setup 我有一个 Ember 应用程序 支持使用 Imgur API 上传图像 我已经有一个工作路线和模板来处理任何 Imgur ID 但我想在上传新图像后转换到此路线 使用返回的 Imgur ID 这是该应用程序的相关部分 http
  • Leaflet js虚构地图

    我是 Leaflet 的新手 我想了解如何创建完全交互式的虚构地图 我有一张图像想要转换为传单地图 该图像基本上像图表一样具有许多连接和点 我想首先将该图像转换为地图 能够将鼠标悬停在这些点上 突出显示它们并显示有关它们的信息 并且还可以在
  • 即使我可以监视其他方法,也无法监视事件处理程序

    我想使用 Jest Jasmine Enzyme 测试 React 中的事件处理程序 MyComponent js import React from react class MyComponent extends React Compon
  • 如何使用 JavaScript 获取没有 HTML 元素的纯文本?

    我的 HTML 中有 1 按钮和一些文本 如下所示 function get content I don t know how to do in here
  • HTML2canvas 和 Canvas2image,下载的屏幕截图不显示我的 HTML 图像

    我一直在开发一个 HTML 页面 我想将其转换为图像 我一直在使用 html2canvas 和 canvas2image 脚本并采用此代码http jsfiddle net 8ypxW 3 http jsfiddle net 8ypxW 3
  • 在闪亮的数据表中为每个单元格显示工具提示或弹出窗口?

    有没有什么方法可以为 r闪亮数据表中的每个单元格获取工具提示 有很多方法可以获取悬停行或列 但我找不到一种方法来获取行和列索引并为每个单元格显示不同的悬停工具提示 任何人都可以修改以下代码吗 library shiny library DT
  • Twitter 嵌入时间轴小部件

    我继续下载http platform twitter com widgets js http platform twitter com widgets js And the http platform twitter com embed t
  • 如何在jquery中获取保存时间和当前时间的差异?

    我想在 javascript 或 jquery 中获取保存时间和当前时间之间的时差 我节省的时间看起来像Sun Oct 24 15 55 56 GMT 05 30 2010 java中的日期格式代码如下 String newDate 201
  • Nodejs mysql 获取正确的时间戳格式

    我在用着mysqljs https github com mysqljs mysql得到结果后sql我变得不同TimeStamp格式如下 created at Sat Jul 16 2016 23 52 54 GMT 0430 IRDT 但
  • 数据表日期范围过滤器

    如何添加日期范围过滤器 like From To 我开始进行常规搜索和分页等工作 但我不知道如何制作日期范围过滤器 我正在使用数据表 1 10 11 版本 My code var oTable function callFilesTable
  • Jquery - 通过在字符串中构建 id 的 id 获取元素

    我在使用 jquery 元素时遇到问题 我正在 var 中构造名称 例如 var myId myGotId myId attr title changed myId 返回空 我想通过 id 获取我的元素 但动态构建我的 Id 连接字符串 编
  • 需要有关 React Js 的帮助

    我是 React Js 新手 我的代码无法正常工作 请看下面 这是我的脚本文件Main jsx 该文件由 React 编译 输出放置在 dist 文件夹下的 main js 文件中 var react require react react
  • 防止文本区域出现新行

    我正在开发聊天功能 使用 Vue 并使用文本区域作为输入 以便溢出换行 并且对于编写较长消息的用户来说更具可读性 不幸的是 当用户按下 Enter 键并提交时 光标会在提交之前移动到新行 从而使用户体验感觉不佳 关于如何使用普通 Javas

随机推荐

  • 在 Javascript 中模拟鼠标点击[重复]

    这个问题在这里已经有答案了 寻找一个用鼠标左键单击由 ID 或类名称标识的图像 按钮的 Javascript 等待 x 秒并重复 并且能够在开发者工具控制台点击 chrome 和 firefox 中运行 尝试自己编写它 因为我认为这将是一个
  • 如何将属性传递给 Loader 创建的对象?

    我有一个QMLLoader加载另一个 qml Loader id gaugeLoader PieMenu id pieMenu MenuItem text Add Bar Gauge onTriggered gaugeLoader sour
  • (SwiftUI) 导航栏高度问题

    我必须在视图 2 中使用大标题 navigationBarTitleDisplayMode large 和 searchable 但在这种情况下 View 3 中导航栏的高度设置得很奇怪 我认为 视图 2 中导航栏的高度和搜索栏高度的总和应
  • 程序运行时出现 C++ STATUS_ACCESS_VIOLATION 错误

    每次我运行该程序时 都会弹出这个神秘的错误 表示我遇到了某种类型的状态访问冲突 我尝试用谷歌搜索它 结果是我可能试图访问一些不允许的内存 非常感谢您的帮助 这是我运行程序时出现的错误 2 main a 5772 exception hand
  • 在django模板中将负数转换为正数?

    如何在django模板中将负数转换为正数 for balance in balances balance amount endfor 如果balance amount是负数 我想将其转换为正数 我想建议安装Django 数学过滤器 http
  • D3 自定义曲线:区域的束插值

    考虑这个 D3JS 图 它使用basis插值 在 D3JS v3 中 我可以使用bundle插值 interpolate bundle tension 0 在区域上实现这种类型的渲染 请注意图表的每个部分如何与其相邻部分完美契合 这就是我需
  • 如何在Java中生成随机排列?

    生成 n 个数字的随机排列的最佳方法是什么 例如 假设我有一组数字 1 2 和 3 n 3 所有可能排列的集合 123 132 213 231 312 321 现在 我如何生成 上述集合的元素之一 随机选择 如上所示的整个排列集 换句话说
  • 与西纳特拉一起设计

    有谁安装过吗Devise https github com plataformatec devise西纳特拉的宝石 Devise 基于 Warden 因此它应该可以在 Sinatra 上运行 我找不到任何有关如何实现它的相关信息 Devis
  • 为每个元组对象添加描述?

    我有一个元组 var a new Tuple
  • AES 加密 Golang 和 Python

    我正在为自己做一个有趣的业余项目 一个 golang 服务器和一个 python 客户端 我希望传输的数据被加密 但似乎无法让两种加密方案一起工作 我是加密方面的新手 所以请像对幼儿说话一样解释 这是我的 golang 加密函数 impor
  • HttpClient-PostAsJsonAsync

    我在使用时遇到一个简单但烦人的问题PostAsJsonAsync
  • 如何使用 SQLite 从两个表中选择不同的记录,合并为一列,并消除另一个表中存在的所有记录?

    这是我现有的查询 它成功地从两个表中选择不同的记录并将它们组合成一列 SELECT index text AS unique text FROM words UNION SELECT c1index text FROM words cont
  • 创建 Java 应用程序作为 Windows 服务运行

    我想创建一个运行我的 Java 应用程序的 Windows 服务 使用这没有问题 sc exe create myService binPath java jar C to my service jar 当我尝试启动我创建的服务时 我收到以
  • 在引导行右侧悬停时显示删除按钮

    我看到很多在容器上弹出删除按钮的例子 我想在行的右侧显示 Twitter Bootstrap 行 div class row div class col md 4 Content div div class col md 4 Content
  • 谷歌电子表格脚本编辑器:删除项目

    我有两个电子表格脚本项目 一个是用于开发测试的临时测试 我想删除临时的 当我单击脚本编辑器时 它会显示两个项目 我可以选择一个项目 但没有删除选项 此外 当我打开项目本身时 没有删除选项 我看过其他SO线程 例如this https sta
  • 如何修改 WordPress 中的 GET 方法表单提交的 URL 结构?

    使用GET方式提交表单时 如何修改WordPress中的URL结构 目前 当我提交表单时 URL 显示为 http localhost c name1 5paisa name2 zerodha 但我想要这种类型的 URL http loca
  • PyQt5 中的菜单栏()

    我正在尝试将菜单栏加载到我的 gui 上 但我的类对象没有 self menuBar 的属性 有人可以帮助我吗 似乎没有教程提供任何解决办法 class EmailBlast QtWidgets QWidget def init self
  • 在 Meteor 中创建用户时获取客户端的 IP

    我正在 Meteor 中创建自定义登录 注册 因为我需要检查电子邮件格式 更重要的是在注册表单中添加验证码 这需要客户端的 IP 所以我打算验证验证码Accounts validateNewUser 但我不知道如何在这里获取客户端的IP 我
  • 如何运行 @angular-eslint/schematics:convert-tslint-to-eslint

    我正在尝试按照中的说明将 Angular 项目从 TSLint 切换到 ESLintAngular eslint Github 存储库 https github com angular eslint angular eslint I ran
  • JavaScript 在 Firefox 3 中异步加载(根据 Firebug)?

    我正在尝试分析一个网站的性能 我相当有信心该网站由于页面上 JavaScript 文件的加载而减慢了速度 页面上多次包含相同的 JavaScript 文件 并且标签分散在整个页面而不是包含在底部 http developer yahoo c