javascript - 引用错误 : is not defined

标签 javascript jquery ruby-on-rails heroku

在 Heroku 上部署我的项目后,我在 Firebug 中收到以下代码的错误:

ReferenceError: SirTrevor 未定义

<script type="text/javascript" charset="utf-8">
$(function(){
  var instances = $('.sir-trevor-area'),
  l = instances.length;
while (l>=2) {
 instance = $(instances[l]);
 new SirTrevor.Editor({ el: instance, blockTypes: ["Video"], defaultType: "Video" });
 l--;
};
while (l>=1) {
 instance = $(instances[l]);
 new SirTrevor.Editor({ el: instance, blockTypes: ["Embedlylink"], defaultType: "Embedlylink" });
 l--;
};
while (l>=0) {
 instance = $(instances[l]);
 new SirTrevor.Editor({ el: instance, blockTypes: ["Heading", "Text", "Image", "Video", "Embedly"], defaultType: "Text" });
 l--;
};
});
</script> 

Firebug 突出显示这一行“

new SirTrevor.Editor({ el: instance, blockTypes: ["Heading", "Text", "Image", "Video", "Embedly"], defaultType: "Text" });

在本地主机上一切似乎都很好,没有错误。 任何人都知道问题可能是什么? 非常感谢你的帮助!非常感谢!

更新:

SirTrevor 在 sir-trevor.js 中定义,它通过 application.js 文件中的 Rails Assets 管道成功加载。

这是我的 application.js 文件:

//= require jquery
//= require jquery_ujs
//= require sir-trevor
//= require underscore.js
//= require eventable.js
//= require twitter/bootstrap
//= require jquery.sidr.js
//= require_tree .

在推送到 Heroku 之前,我执行“rake assets:precompile”。在本地主机上,一切似乎都很好。

application.html.erb header :

<!DOCTYPE html>
<html>
<head>
  <title>Tt</title>
  <%= stylesheet_link_tag    "application", :media => "all" %>
  <link href="//netdna.bootstrapcdn.com/font-awesome/4.0.0/css/font-awesome.css" rel="stylesheet">
  <%= javascript_include_tag "application" %>
  <%= csrf_meta_tags %>

</head>

最佳答案

为了结束这个问题,做一个简短的总结: 感谢@iamjpg 的帮助,我终于弄明白了。

首先,我从 <body> 中删除了所有的 javascript并放入单独的js文件中。 然后我调整了 application.js 文件中的层次结构。 Sir-Trevor 依赖于 underscore.js 和 eventable.js,因此它们必须高于 sir-trevor.js。

//= require jquery
//= require underscore.js
//= require eventable.js
//= require twitter/bootstrap
//= require jquery_ujs
//= require sir-trevor
//= require jquery.sidr.js
//= require_tree .

关于javascript - 引用错误 : is not defined,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20106760/

相关文章:

javascript - querySelector 与 getElementById

javascript - Jquery - 查找子ID的类

javascript - 猫头鹰旋转木马 : Run function when last slide is reached

Javascript jQuery 是否可以调用点击函数

ios - 在 iOS 11 中,键盘自动更正会创建无效的 UTF8

javascript - HTML5 视频未使用 .load() 返回海报图像

javascript - Node.js Mongo 使用 $position 而 $push-ing 无法按预期工作

jquery - 在 jQuery 中解析 JSON Google Finance

html - Rails 中是否有 HTML 安全截断方法?

ruby-on-rails - 在rails中自动为用户创建记录