我目前在我的网站上使用 High Charts。我已经完成了所有设置,因此它在 jsfiddle 上完美运行,jquery 通过 ajax 加载,highcharts 脚本也加载良好。
这是 jsfiddle: http://jsfiddle.net/jy8BA/1/
<script src="http://code.highcharts.com/highcharts.js"></script>
但是,当我在自己的网站上运行该代码时,它失败并出现错误:
Uncaught TypeError: Object [object Object] has no method 'highcharts'
我预计这是由于 highcharts 脚本未正确加载,但是使用 chrome 的开发人员工具我发现 highchart 和 jquery 在短时间内加载得非常好。我已经尝试了几乎所有方法,包括使用 .setTimeout 暂停 jquery 运行,以防允许 highcharts 有更多时间加载?
这里是我正在制作的网站的链接,以防您想使用开发人员工具并亲自查看:(请注意,我刚刚发现它偶尔会起作用,但是如果您刷新页面或更改页面它又不起作用了?)
感谢任何帮助,谢谢。
最佳答案
这可能是因为highcharts.js
当 jQuery 尚不可用时加载。
Highcharts 插件需要 jQuery 才能正常工作。你必须放置highcharts.js
之后 jquery.js
.
现在你有<script charset="utf-8" async="" src="//img3.wsimg.com/wst/v7/WSB7_J_20131114_0846_RATT_558/libs/jquery/jq.js">
(带有 async
属性),这意味着页面的其余部分在加载 jQuery 时被解析。
有时它会在 highcharts.js
之前加载(一切都会正常),有时则不行......并且您会收到错误。
删除async
你应该消除这些错误:
<script charset="utf-8" src="//img3.wsimg.com/wst/v7/WSB7_J_20131114_0846_RATT_558/libs/jquery/jq.js">
关于JQuery、High Charts,找不到功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20000585/