Javascript 谷歌地图API,回调是一个对象的方法
我已经删除了这里的每一行代码,但以下代码除外:Javascript 谷歌地图API,回调是一个对象的方法,javascript,google-maps,callback,cross-domain,Javascript,Google Maps,Callback,Cross Domain,我已经删除了这里的每一行代码,但以下代码除外: show = foo.show = function () { alert("test"); }; 现在,如果我以以下方式运行maps API,它将起作用: foo.display = function() { this.elem = document.getElementById('fooBox'); var script = document.createElement("script"); script.
show = foo.show = function () {
alert("test");
};
现在,如果我以以下方式运行maps API,它将起作用:
foo.display = function() {
this.elem = document.getElementById('fooBox');
var script = document.createElement("script");
script.type = "text/javascript";
script.src = "http://maps.google.com/maps/api/js?sensor=false&callback=show";
document.body.appendChild(script);
};
但是当我试图通过callback=foo.show
调用它时,它失败了:
foo.display = function() {
this.elem = document.getElementById('fooBox');
var script = document.createElement("script");
script.type = "text/javascript";
script.src = "http://maps.google.com/maps/api/js?sensor=false&callback=foo.show";
document.body.appendChild(script);
};
我能从WebKit inspector中得到的唯一错误是uncaughtTypeError:无法调用未定义的方法“show”
我是谷歌地图API的新手,但我会认为方法无关紧要?我肯定在什么地方见过。我做错了什么?是否将
foo
声明为var
?如果是这样,则无法访问全局范围。添加一个声明,如:
foo = {};
foo.show = function () {
...
};
...
它很可能会纠正这个问题。WebKit的响应表明变量foo
在调用show()
时不在范围内