Uncaught TypeError: Cannot read property 'tram' of undefined

Uncaught TypeError: Cannot read property 'tram' of undefined

我用的是webflow。现在加载 webflow.js 时发生冲突。

这是什么原因?如何解决?

http://s90009lu.beget.tech/teete/

https://i.stack.imgur.com/gx8sz.png

因此,即使提供的信息很少,我也会试一试:

由于没有实际的源代码(给出的代码似乎是打包的)我假设这是某种插件。这让我相信这可能不是唯一的案例。让我们看看确切的错误:

Uncaught TypeError: Cannot read property 'tram' of undefined

这意味着浏览器试图在未定义的变量中查找名为 "tram" 的 属性。因为未定义是……嗯……未定义的东西。不能有任何属性。这会产生此错误。

从某些上下文开始的一个好做法可能只是使用 Google 搜索确切的问题。让我们搜索 "Uncaught TypeError: Cannot read property 'tram' of undefined".

一些结果指出,al 指示 webflow 的东西。让我们看看这个结果:https://forum.webflow.com/t/how-to-trigger-webflow-js-slider/11268.

第三个 post 表示添加行 var $ = jQuery; 让用户更进一步。这提供了一些非常清晰的上下文。

var $ = jQuery; 赋值 $ 引用变量 jQuery 在内存中的位置,一个流行的库。这基本上创建了一个别名。值得注意的是:$ 往往是 jQuery 的默认(发布)别名。这里有问题。

打开浏览器 (Chrome) 开发人员工具显示屏幕截图中显示的错误。我们可以通过调试器在这里得到一些更精确的信息。

  • 打开开发工具。
  • 单击 link 到 webflow.js 将其打开源选项卡。
  • 检查异常时中断按钮(形状像停车标志)。
  • 使用左下角的“{}”格式化代码。
  • 重新加载页面。

我们现在可以看到代码在它寻找 tram 的某个点停止。就在它前面,我们看到它正在为 window.$ (!).

寻找新创建的别名

最后一件事让人相信 jQuery 确实没有正确安装。由插件或其他模块中的冲突引起。建议的 var $ = jQuery; 行可能会解决此问题,但请记住,应首先提供 jQuery 才能使此工作正常。

最后一件事需要正确捆绑或使用不同的方法安装。由于我们不知道您的具体情况,您可能需要自行调查。