我正在使用这两个 amq.js (ActiveMQ) 和 Google Maps .我按此顺序加载我的脚本
<head>
<meta http-equiv="content-type" content="text/html;charset=UTF-8" />
<title>AMQ & Maps Demo</title>
<!-- Stylesheet -->
<link rel="stylesheet" type="text/css" href="style.css"></link>
<!-- Google APIs -->
<script type="text/javascript" src="http://www.google.com/jsapi?key=abcdefg"></script>
<!-- Active MQ -->
<script type="text/javascript" src="amq/amq.js"></script>
<script type="text/javascript">amq.uri='amq';</script>
<!-- Application -->
<script type="text/javascript" src="application.js"></script>
</head>
然而,在我的 application.js 中,它可以很好地加载 map ,但在尝试使用 AMQ 订阅主题时出现错误。 AMQ 依赖于 Firefox 中的错误控制台显示对象未定义的原型(prototype)。我想我在脚本加载完成之前使用 amq 对象有问题。 有没有办法确保在我的 application.js 中使用这两个脚本之前加载它们?
Google 有一个很好的函数调用 google.setOnLoadCallback(initialize);
,效果很好。我不确定 amq.js 是否有类似的东西。
最佳答案
跨域脚本在站点本身的脚本之后加载,这就是您出错的原因。有趣的是,这里没有人知道这一点。
关于JavaScript 加载顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19035/