0

所以我对 Bing Maps API 中信息框的高度有疑问。我正在加载的内容超出了框框。所以我想我会尝试使用jQuery来获取outerHeight并相应地改变div的高度。

我似乎遇到了错误“$ 未定义”。我很确定我以正确的顺序正确加载了库。关于为什么我仍然会收到此错误的任何想法?

<head>
    <title>Untitled Document</title>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
        <script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
        <script charset="UTF-8" type="text/javascript" src="http://ecn.dev.virtualearth.net/mapcontrol/mapcontrol.ashx?v=7.0"></script>
       <script type="text/javascript"> 
            var infoBoxHeight = $('#infobox-info').outerHeight();

然后稍后我尝试提醒 infoBoxHeight 但我不断收到“$ 未定义”。我在这里先向您的帮助表示感谢。

4

2 回答 2

2

尝试使用 http:// 而不是 //。我总是这样做,但这只是因为它有时在我的开发计算机中不起作用,具体取决于浏览器。看了这个网站,我找到了一个解释:

这篇文章中来自Synchro的引述:

更一般的解释是匿名协议 URL 不能孤立地工作;必须有相关的背景。在典型的网页中,以这种方式引入脚本库是可以的,但任何外部链接都应始终指定协议。我确实尝试了一个简单的测试://stackoverflow.com 在我尝试过的所有浏览器中都映射到 file:///stackoverflow.com,所以它们本身并不能正常工作。

使用前导双斜杠继承 URL 中的协议有什么缺点吗?即 src="//domain.com"

我希望它对你有帮助。如果您发现我没有为这个答案做出贡献,请告诉我。

别的东西。我在本地试了一下,在Chrome中检查了javascript控制台,还是不行,错误很明显:

加载资源文件失败://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js 未捕获的ReferenceError: $ is not defined Index.html:8

它在本地寻找图书馆。

于 2013-09-16T19:34:40.463 回答
0

我建议摆脱

script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"

在你的“文本/javascript”里面放这个

var jq = document.createElement('script');
jq.src = "//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js";
document.getElementsByTagName('meta')[0].appendChild(jq);

jq.onload = procede;//make sure you don't type parenthesis

//i.e. 'procede()' runs function instantly
//     'procede' gives it a function to run when it's ready

...

function procede()
{
//jQuery commands are loaded (do your magic)


}
于 2013-09-18T09:09:33.587 回答