0

私は MSCRM ページに取り組んでおり、2 つのメソッドのみを持つ単純な Javascript をロードします。外部 Javascript をロードする 1 つのメソッドと、その外部メソッドを呼び出して結果を 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関数を機能させるにはどうすればよいですか?

どんなポインタでも大歓迎です。ありがとう。

4

1 に答える 1

0

問題の原因が console.log であるかどうかは、console.log が利用できない場合に作成してみると確認できます。コードの前にこれを追加します。

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

機能する場合は、マップ スクリプトに必要なインクルードが欠落している可能性があります。

于 2013-02-28T19:18:14.370 に答える