将远程库(API 4.5 Mapy.cz)包含在Google Chrome扩展程序中

时间:2011-07-11 21:39:20

标签: javascript api google-chrome-extension

我很困惑。我正在尝试进行小扩展(弹出),我需要连接到远程API。 如果它是标准网页,我会使用它:

<script type="text/javascript" src="http://api4.mapy.cz/loader.js"></script>
<script type="text/javascript">Loader.load();</script>

我尝试将新元素脚本包含到 head (不适用于我)。但我无法相信,没有更简单的方法......

请告诉我最好的方法。


修改

链接API加载器很好并且有效。感谢@serg。所以,我的弹出代码看起来像这样:

<script type="text/javascript" src="http://api4.mapy.cz/loader.js"></script>
<script type="text/javascript">
    Loader.load();
    var center = SMap.Coords.fromWGS84(16.61574, 49.20315);
</script>

定义了对象加载器,它没问题。 Loader应该加载整个API对象SMap。但是SMap是未定义的。下一步是什么?

2 个答案:

答案 0 :(得分:1)

如果您需要向此远程API发出ajax请求,则需要在清单中的权限中列出API域:

{
  "permissions": [
    "http://api4.mapy.cz/"
  ],
}

答案 1 :(得分:0)

最后,我问Mapy.cz的开发人员,他们给出了解决方案。而不是使用导致包含额外脚本和异步加载的Loader.load() - 使用这种方式:

Loader.async = true;
Loader.load(null, null, function(){
    alert(123); // it works...
    // custom code calling objects etc. from API
    // ...
});

Final Example of usage