0

JavaScript を最小化するために Google Closure Compiler を使用したかったのですが、最小化されたバージョンでは関数名の名前が変更されます。これは意図した動作ですか?その状況でこれをどのように使用しますか?

lib.js

function myfun() {
   $('#test').hide();
}

lib.min.js

function myfun$$module$main(){$("#test").hide()}

見る

<a href="#" onclick="myfun()">no longer works</a>
4

2 に答える 2

1

JavaScript 内の HTML 要素にイベント ハンドラーを割り当てて、コンパイル プロセス中に Google Closure がこれらの関数の名前も変更できるようにする必要があります。関数や式の名前を変更しない、より単純なバージョンの最適化 ( WHITESPACE_ONLY ) を使用することもできます。

ID を HTML 要素に割り当てます: <a href="#" id="link">does this work?</a>.

JavaScript で、イベントを割り当てます。

var link = document.getElementById("link");
var myFun = function () {
    alert("hello world");
};
link.onclick = myFun;

お役に立てれば!

于 2013-01-24T08:38:45.893 に答える
1

わかりました、そこでできることがいくつかあります。

1) window['functionName'] = それを保持する functionName または

2) クロージャ ライブラリにリンクし、goog.exportSymbol を使用します。

于 2013-01-24T09:27:16.503 に答える