我正在使用MSCRM页面,它只使用两种方法加载一个简单的Javascript。一种加载外部Javascript的方法和另一种调用该外部方法并在MSCRM页面上写入结果的方法。这些是代码
function addJavascript(jsname, pos) {
var th = document.getElementsByTagName(pos)[0];
var s = document.createElement('script');
s.setAttribute('type', 'text/javascript');
s.setAttribute('src', jsname);
th.appendChild(s);
}
addJavascript('http://maps.google.com/maps/api/js?v=3&sensor=true&key=xxxxxxx', 'body');
function getLatLang() {
var geocoder = new google.maps.Geocoder();
var address = Xrm.Page.getAttribute("address1_line1").getValue() + "," + Xrm.Page.getAttribute("address1_city").getValue();
if (address != '') {
geocoder.geocode({ "address": address }, function (results, status) {
if (status == google.maps.GeocoderStatus.OK) {
Xrm.Page.getAttribute("address1_latitude").setValue(results[0].geometry.location.lat());
Xrm.Page.getAttribute("address1_longitude").setValue(results[0].geometry.location.lng());
return;
}
});
}
}
它们工作正常但只有我在调试(IE F12)中运行它或者我取消选中“禁用脚本调试”在IE高级选项中我真的不想这样做。我读到了调用console.log()
方法导致的错误,您可以从上面的代码段中看到该方法根本没有被调用。
简而言之,如何在没有调试器的情况下使javascript函数正常工作?
赞赏任何指针。谢谢。
答案 0 :(得分:0)
您可以通过尝试在不可用时创建它来检查问题是否是由console.log引起的。在代码之前添加:
var console = console || {};
console.log = console.log || function () {};
如果有效,您可能缺少地图脚本所需的包含。