Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/390.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Dojo:动态同步加载跨域脚本_Javascript_Google Maps_Dojo_Synchronization_Cross Domain - Fatal编程技术网

Javascript Dojo:动态同步加载跨域脚本

Javascript Dojo:动态同步加载跨域脚本,javascript,google-maps,dojo,synchronization,cross-domain,Javascript,Google Maps,Dojo,Synchronization,Cross Domain,我正在做一个项目,我必须使用dojo(我正在做一个自定义小部件)和GoogleMapAPI(v3) 出于某些技术原因,我必须通过我的js文件而不是html文件包含GoogleMapAPI,所以我不能使用 <script type='text/javascript' src='http://maps.googleapis.com/maps/api/js?sensor=false&libraries=places'></script> 负载必须同步进行 我尝试了

我正在做一个项目,我必须使用dojo(我正在做一个自定义小部件)和GoogleMapAPI(v3)

出于某些技术原因,我必须通过我的js文件而不是html文件包含GoogleMapAPI,所以我不能使用

<script type='text/javascript' src='http://maps.googleapis.com/maps/api/js?sensor=false&libraries=places'></script>

负载必须同步进行

我尝试了一些方法,首先使用

document.write("<script type='text/javascript' src='http://maps.googleapis.com/maps/api/js?sensor=false&libraries=places'></script>");
document.write(“”);
但这不起作用,我得到了一个空白页面,使用firebug我可以看到面板“网络”正在清除,页面无限加载google map api脚本

我想我不能使用dojo.io.script(它允许进行跨域请求),因为我们不能使用dojo.io.script进行同步请求


任何帮助都将不胜感激;)

您应该仍然能够使用dojo.io.script。它不必是同步的。maps API采用c

解决方案是使用google地图回调:

var script = document.createElement("script");
script.type = "text/javascript";
script.src = "http://maps.googleapis.com/maps/api/js?sensor=false&libraries=places&callback=mapLoaded";
document.body.appendChild(script);
然后使函数“mapload”执行代码


感谢那些花时间回答我的人

你能把所有自定义小部件代码都带到吗?小部件代码不会有帮助,但是有人有类似的问题()在这里发布了一些东西:,这与我试图用dojo.io.script做的事是一样的。谢谢你的回答,但是根据这个主题,经过一些测试:这是不可能的,或者我找不到好办法