2014-02-18 27 views
0

我有几个JavaScript文件,我已将它们嵌入到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,嵌入的脚本可能是问题。它来自开源产品KnightLab TimelineJS - https://github.com/NUKnightLab/TimelineJSThis是链接到麻烦的脚本。

难道是它的格式不正确?什么导致这个错误?

+0

打开您的控制台并告诉我们是否有任何javascript错误。 –

+0

GET http://127.0.0.1:8000/static/styles/map-styles.css 404(NOT FOUND)127.0.0.1/:18 \t GET http://127.0.0.1:8000/webapp/getUserRecs:pyordanov 500(内部服务器错误)jquery.min.js:19 \t未捕获TypeError:无法读取null main.js的属性'offsetWidth':39 \t body.scrollTop在严格模式下不推荐使用。如果处于严格模式,请使用'documentElement.scrollTop',只有在quirks模式下才能使用'body.scrollTop'。 jquery.min.js:4 \t body.scrollLeft在严格模式下不推荐使用。如果处于严格模式,请使用'documentElement.scrollLeft'.. 我看到一些警告和错误,我将解决这些问题。 –

回答

1

你已经导入了依赖于两个不同版本的jQuery的脚本。你有几个选择:

  1. 回滚你的导入版本的jquery到老的东西,直到它开始工作。

  2. 拿着脚本,需要旧版本的jquery才能工作并找到替代品,所以摆脱了越野车软件。

  3. 在引擎盖下重写代码以避免使用不推荐使用的javascript/jquery方法。

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

+0

我会尝试重构代码。 –

相关问题