没有调试器的Javascript将无法在IE上运行(F12)

时间:2013-02-28 19:14:05

标签: javascript internet-explorer debugging dynamics-crm

我正在使用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函数正常工作?

赞赏任何指针。谢谢。

1 个答案:

答案 0 :(得分:0)

您可以通过尝试在不可用时创建它来检查问题是否是由console.log引起的。在代码之前添加:

var console = console || {};
console.log = console.log || function () {};

如果有效,您可能缺少地图脚本所需的包含。