我在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/TimelineJS。 This是麻烦脚本的链接。
可能是格式不正确吗?是什么导致了这个错误?
答案 0 :(得分:1)
您导入的脚本依赖于两个不同版本的jquery。您有几个选择:
将导入的jquery版本回滚到较旧的版本,直到它开始工作。
使用需要较旧版本jquery的脚本才能工作并找到替代品,以便摆脱有缺陷的软件。
重写内幕代码,不要使用弃用的javascript / jquery方法。
似乎是说严格模式阻止了某些工作,尝试删除严格模式。