0

我的问题可能有一个简单的答案,尽管我们将不胜感激。

我将 ExtJs 与我的 GE 插件一起使用。要使插件正常工作,我需要在我的主 HTML 页面中包含以下内容。

<!DOCTYPE html>

<!-- Auto Generated with Sencha Architect -->
<!-- Modifications to this file will be overwritten. -->
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>MDS</title>
    <script src="https://www.google.com/jsapi" id="GoogleEarth"></script>
    <script src="/static/googleearth/Ext.ux.GEarthPanel-1.3.js" id="GoogleEarth">    </script>
    <script type="text/javascript" src="app.js"></script>

    <script type="text/javascript">
        google.load("earth", "1");
        google.load("maps", "2.xx");
    </script>
</head>
<body></body>
</html>

现在,当我想删除以下代码并尝试将其作为 javascript 单独运行时,页面似乎继续加载。

    <script type="text/javascript">
        google.load("earth", "1");
        google.load("maps", "2.xx");
    </script>

即使我删除代码并将其粘贴到它自己的 .js 文件中,问题仍然存在。

例如使用

<script type="text/javascript" src="/static/GoogleEarthStartup.js" id="Test"></script>

内容如

google.load("earth", "1");
google.load("maps", "2.xx");

它似乎想留在带有脚本标签的主页中。

无论如何我可以解决这个问题吗?

我问的主要原因是我每次保存项目时都使用一个覆盖我的主 html 的包。

该软件包允许我通过如上所示的链接添加脚本,尽管它对结果没有影响。

我收到一条错误 提示 TypeError: google.earth is undefined

请指教。

4

1 回答 1

0

这可能只是脚本元素的顺序。

脚本按照它们在文档中的顺序执行,因此您的错误是因为在文件执行之前app.jsExt.ux.GEarthPanel-1.3.js正在引用某些内容- 因此尚未调用。google.earth GoogleEarthStartup.jsgoogle.earth is undefinedgoogle.load("earth", "1");

尝试修复尝试像这样简单地重新排序脚本元素......

<script type="text/javascript" src="//www.google.com/jsapi" id="GoogleEarth"></script>
<script type="text/javascript" src="/static/GoogleEarthStartup.js" id="Test"></script> 
<script type="text/javascript" src="/static/googleearth/Ext.ux.GEarthPanel-1.3.js" id="GoogleEarth"></script>
<script type="text/javascript" src="app.js"></script>
于 2013-05-29T07:59:18.920 回答