gpt4 book ai didi

javascript - 为什么浏览器在使用 handlebars.js 时在 Firefox 中返回错误 "TypeError: this._input is null"(在 Chrome 中类似)?

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:35:55 24 4
gpt4 key购买 nike

这是我正在尝试的代码:http://jsfiddle.net/sbrsK/10/
在jsfiddle中运行正常,没有报错

尝试通过本地网络服务器在我的计算机上运行相同的程序是行不通的。正在加载以下文件:

  • index.html
  • 应用程序.js

在 Firefox 中 我得到这个错误:

TypeError: this._input is null @ http://cloud.github.com/downloads/wycats/handlebars.js/handlebars-1.0.0.beta.6.js:364

在 chrome 中 我得到这个错误:

Uncaught TypeError:Cannot call method 'match' of null
under match = this._input.match(this.rules[rules[i]]); in handlebars-1.0.0.beta.6.js

在此 link 中早先提出了一个非常相似的问题, 但似乎它仍然是开放的。

那么问题来了,为什么在jsfiddle中正常运行的时候会出现这个错误呢?在本地运行它的正确方法是什么?

最佳答案

该错误意味着 #entry-template 在您尝试使用它时不在 DOM 中:

var source = $("#entry-template").html(); // There is no #entry-template in the DOM here
var template = Handlebars.compile(source);

这意味着您最终会尝试将 undefined 编译为 Handlebars 模板,但这是行不通的。您可以通过运行此命令来查看错误:

http://jsfiddle.net/ambiguous/LprDR/

打开控制台。

jsfiddle 之所以有效,是因为您的所有代码都在加载 DOM 后运行,这是默认的 jsfiddle 行为。

您的实际代码中可能存在加载顺序问题,请尝试将其包装在 $(function() {/*...*/}) 包装器中。

关于javascript - 为什么浏览器在使用 handlebars.js 时在 Firefox 中返回错误 "TypeError: this._input is null"(在 Chrome 中类似)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12613967/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com