JavaScript会阻止页面上的其他脚本

时间:2014-02-18 02:14:50

标签: javascript block

我在Django应用页面中嵌入了一些JavaScript文件。它们独立地工作没有任何问题,但是一个脚本会阻止其余部分在我包含它的任何地方正常运行。

我得到的错误是:


jquery.min.js:19 Uncaught TypeError: Cannot read property 'offsetWidth' 
of null

main.js:39 body.scrollTop is deprecated in strict mode. Please 
use 'documentElement.scrollTop' if in strict mode and 'body.scrollTop' 
only if in quirks mode.

jquery.min.js:4 body.scrollLeft is deprecated 
in strict mode. Please use 'documentElement.scrollLeft' if in strict 
mode 

以下是我的所有脚本导入:

<script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?key=AIzaSyAcCsb4_1FhEOP4bYPwm10FV_bGhjHBBH0&sensor=true"></script>
<script src="{% static "scripts/map-canvas.js" %}"></script>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
<script src="{% static "scripts/buzz.min.js" %}"></script>
<script type="text/javascript" src="{% static "scripts/syncSound.js" %}"></script>
<script type="text/javascript" src="{% static "build/js/storyjs-embed.js" %}"></script>
<script type="text/javascript" src="{% static "scripts/tl.js" %}"></script>

storyjs-embed脚本可能是问题所在。它来自一个开源产品KnightLab TimelineJS - https://github.com/NUKnightLab/TimelineJSThis是麻烦脚本的链接。

可能是格式不正确吗?是什么导致了这个错误?

1 个答案:

答案 0 :(得分:1)

您导入的脚本依赖于两个不同版本的jquery。您有几个选择:

  1. 将导入的jquery版本回滚到较旧的版本,直到它开始工作。

  2. 使用需要较旧版本jquery的脚本才能工作并找到替代品,以便摆脱有缺陷的软件。

  3. 重写内幕代码,不要使用弃用的javascript / jquery方法。

  4. 似乎是说严格模式阻止了某些工作,尝试删除严格模式。