javascript - 浏览器中间歇性的 ReferenceError/TypeError 背后的可能原因是什么?

标签 javascript browser

我们有一个 Web 应用程序,它呈现 HTML 页面,并包含一些定义变量的外部 JavaScript 文件,例如 jQuery$app 等。

我们在 Bugsnag 中跟踪客户端 JavaScript 错误,有时我们会收到诸如 Uncaught ReferenceError: $ is not DefinedReferenceError: Can't find variable: app 之类的错误。

这背后可能有哪些原因?我可以猜测的两个是:用户可能在浏览器中单击了“停止”,并且 JS 文件没有完全加载,但页面内的内联 JavaScript 仍然执行(这可能吗?),或者某些 JavaScript 文件被浏览器插件阻止/扩展名。

我们观察到这种情况发生在所有主要浏览器(Firefox/Chrome/Safari 等)中,但它发生的情况相当罕见 - 通常在数千个请求中出现一次。

以下是页面摘录:

<script src="https://path/to/jquery.js"></script>
<script src="/path/to/app.js"></script>
<script type="text/javascript">
  $(document).ready(function() { ... });
  // ^^^^ I receive the error here
  app.init(function() { ... });
  // ^^^^ and sometimes I receive the error here
</script>

最佳答案

一个合理的解释是,某些浏览器扩展程序正在阻止这些脚本加载(例如广告拦截器)。

关于javascript - 浏览器中间歇性的 ReferenceError/TypeError 背后的可能原因是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45104912/

相关文章:

javascript 拼接导致 Canvas 滞后

javascript - 日期对象返回 NaN 的 D3 时间刻度

javascript - 结合内联css和悬停状态,可能吗?

gwt - 如何在 GWT 客户端显示文件,而不是下载 :

java - 使用浏览器上传大文件而不会挂起(最好使用 Flash)

javascript - 当我在 knockout 中从服务器加载数据时 undefined object

javascript - package.json 文件在资源管理器可视代码中不可见

javascript - 此 JQuery 片段在 Firefox 中不起作用

javascript - 2021 年的 IFrame 有何用途?

jquery - Android 手机浏览器 jQuery keydown 问题