Javascript 将远程库(API 4.5 Mapy.cz)包含到Google Chrome扩展中
我很困惑。我正试图使小铬扩展(弹出),我需要连接到远程API。 如果这是一个标准网页,我将使用:Javascript 将远程库(API 4.5 Mapy.cz)包含到Google Chrome扩展中,javascript,api,google-chrome-extension,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> Loader.load(); 我尝试将新元素脚本包含到头部(对我来说不起作用)。但我
<script type="text/javascript" src="http://api4.mapy.cz/loader.js"></script>
<script type="text/javascript">Loader.load();</script>
Loader.load();
我尝试将新元素脚本包含到头部(对我来说不起作用)。但我不敢相信,没有比这更简单的方法
请告诉我最好的方法
编辑: 链接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.load();
var中心=来自WGS84的SMap.Coords(16.61574,49.20315);
已定义对象加载器,并且该加载器正常。加载程序应该加载整个API或对象SMap。但是SMap是未定义的。下一步是什么?如果需要向此远程API发出ajax请求,则需要在清单中的权限中列出API域:
{
"permissions": [
"http://api4.mapy.cz/"
],
}
最后我问了Mapy.cz的开发者,他们给出了解决方案。不要使用Loader.load(),这会导致包含额外的脚本和异步加载-请使用以下方法:
Loader.async = true;
Loader.load(null, null, function(){
alert(123); // it works...
// custom code calling objects etc. from API
// ...
});
我需要将此javascript脚本包含到扩展中,以使用库中的方法。它是地图的API,比如maps.google.com。@Jaroslav打开弹出式控制台,检查是否有错误(右键单击弹出式图标并选择inspect)。自然会出现错误:“加载程序未定义”。但有一点是有关联的:当我尝试从控制台使用API时,它是有效的!(如果我包括@Jaroslav,它必须是这个API的特定内容。您可以在弹出窗口中包括并使用任何外部脚本,不会出现问题。