Rails JavaScript 包含 TypeError:“null”不是一个对象(评估 'document.
Rails JavaScript include TypeError: 'null' is not an object (evaluating 'document.body.style')
我已经下载了一个外部脚本并将其放置在我的供应商/资产/javascripts中,然后将其包含在应用程序中.js(揭示脚本)
//= require jquery
//= require jquery_ujs
//= require reveal
//= require mustache
//= require_tree .
该脚本显然不会等待 DOM 加载,因为我在控制台中发现了上述错误。在设置 JS 松开之前,如何确保主体已加载?
编辑Reveal 在其自己的文件中初始化,reveal_init.js.coffee
$ ->
Reveal.initialize
controls: true,
progress: false,
history: true,
loop: false,
mouseWheel: true,
# Apply a 3D roll to links on hover
rollingLinks: true,
theme: 'default',
transition: 'page' # default/cube/page/concave/linear(2d)
你可以在 jQuery 中使用 .ready():
$(document).ready(function() {
Reveal.initialize({
opt1: "value",
opt2: "value"
});
});
或者,在使用 CoffeeScript 时:
$ ->
Reveal.initialize
opt1: "value"
opt2: "value"
如果仍然收到对象尚不存在的错误,则可能需要尝试 $(window).load() 事件,该事件的触发时间甚至晚于 ready()
事件。
如果这仍然不起作用,并且您确定该元素存在并且应该可以工作,请尝试使用 setTimeout
在加载脚本时添加延迟,或使用 Chrome/Safari 中的 Web 开发人员工具或 Firefox 中的 Firebug 手动触发脚本。
如果这仍然不起作用,您现在可以排除脚本加载过早的可能性,您应该开始调查其他可能性。
相关文章:
- 如果使用 lodash 将属性存在于另一个对象中,则向对象添加属性
- Javascript(Angular)从一个对象数组到第二个数组查找值
- 对一个对象使用reduce可以返回一个没有't在数组中包含目标字母
- AngularJS&JSON-从Previous&下一个对象
- jQuery$.inArray()总是返回-1和一个对象数组
- javascript处理一个对象数组以获得一个新的对象数组
- javascript函数,它接受两个输入:一个对象和一个键,并返回对象中该键的相应值
- 你能用来自数组的属性名称生成一个对象吗
- 预期响应包含一个对象,但在angular js中得到一个数组错误
- Protractor:element.getText()返回一个对象,而不是String
- 如何使用jQuery添加另一个对象的高度作为边距
- 计算从一个对象到另一个对象的路径并沿其移动
- 如何将一个对象添加到每个对象数组中
- 为了避免创建全局变量,可以将所有变量分配给一个对象吗
- 将javascript对象(属性+值)合并到一个对象中
- TypeError:undefined不是一个对象(评估'c.trigger')
- Rails JavaScript 包含 TypeError:“null”不是一个对象(评估 'document.
- TypeError:undefined不是一个对象(正在评估'msg.innerHTML="Uploa
- 如何在 AngularJS 中注入 PersistenceJS(undefined 不是一个对象(评估 'persist
- undefined不是一个对象(评估'$scope.students.pay')