我只是不了解高级模式下的谷歌闭包编译器和相应的外部。
具体:任何人都可以告诉我如何让CC保持高级模式重命名这个功能,因为我需要从我的HTML(<a href="javascript:searchAddress();">
)调用它?
function searchAddress() {
geocoder = new google.maps.Geocoder();
var useraddress = $('#where').val();
if (geocoder && useraddress) {
geocoder.geocode( {'address': useraddress, 'region': region}, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
myPosition = results[0].geometry.location;
myAccuracy = 150;
echoAddress(results[0].formatted_address);
}
});
}
}
我以为我理解我需要编写一个extern文件,因为函数是从外部代码调用的,传递类似
的内容window['searchAddress'] = searchAddress
或
function searchAddress() {}
但这些和其他几个尝试都没有奏效。 CC编译没有错误,但浏览器抱怨
未捕获的异常:ReferenceError:未定义的变量:searchAddress
searchAddress()已被CC删除,不再是我的min.js中的函数名。谢谢你的任何提示。感谢解释,谢谢。
答案 0 :(得分:0)
您不需要创建extern,您想要导出函数:
http://code.google.com/closure/compiler/docs/api-tutorial3.html
将其添加到代码(不是extern文件):
window ['searchAddress'] = searchAddress