Javascript不会在没有调试器的情况下运行(F12)
问题描述:
我正在使用MSCRM页面,它只用两种方法加载一个简单的Javascript。加载外部Javascript的一种方法,以及调用该外部方法并将结果写入MSCRM页面的另一种方法。这些代码Javascript不会在没有调试器的情况下运行(F12)
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函数在没有调试器的情况下工作?
任何指针赞赏。谢谢。
答
您可以通过尝试在console.log不可用时创建问题来检查问题是否由console.log引起。在您的代码之前加上以下内容:
var console = console || {};
console.log = console.log || function() {};
如果有效,您可能会遗漏地图脚本的必需包含。
+0
试图补充说,按照你的指示,仍然不工作。感谢评论 – meh 2013-02-28 19:50:32
你是否缓存了一个有console.log行的旧文件?清除缓存并查看它是否奇迹般地工作。 – epascarello 2013-02-28 19:27:12
没有这样的魔力; [缓存被清除,并解释,console.log从未被调用。无论如何感谢您的输入 – meh 2013-02-28 19:49:45