7

YUICompressor を使用すると、JavaScript コードから次のエラーが発生します。

    [エラー] 270:201: の後に名前がありません。オペレーター
    [エラー] 292:6: がありません。ステートメントの前に

次の行の JavaScript コードは次のとおりです。

270 行目:

new _ow.getScript(_ow.wwwurl+'/widget/save?title='+encodeURIComponent(this.obj.title.value)+'&url='+encodeURIComponent(this.obj.url.value)+'&tags='+this.obj.tags.value+'&private='+this.obj.private.checked+'&c='+this.obj.notes.value+'&service='+services+'&token='+(_ow.token ? encodeURIComponent(_ow.token): ''), function(data) {

292 行目:

});

この Javascript コードはすべてのブラウザで正常に動作するため、何が問題なのかわかりません。


編集:行を複数の行に分割し、「.演算子の後に名前がありません」が次のコードによって生成されることがわかりました:

this.obj.private.checked

privateは YUI コンプレッサーを狂わせるキーワードですか?

4

5 に答える 5

13

private予約語です。

于 2009-01-31T23:10:18.607 に答える
3

まず、コードを再フォーマットして読みやすくします。

new _ow.getScript(_ow.wwwurl
    + '/widget/save?title='
    + encodeURIComponent(this.obj.title.value)
    + '&url='
    + encodeURIComponent(this.obj.url.value)
    + '&tags='
    + this.obj.tags.value
    + '&private='
    + this.obj.private.checked
    + '&c='
    + this.obj.notes.value
    + '&service='
    + services
    + '&token='
    + (_ow.token
        ? encodeURIComponent(_ow.token)
        : ''),
    function(data) {
    });

次に、コンプレッサーによって報告された行番号は、問題の詳細を掘り下げるのに役立ちます。

于 2009-01-31T21:05:42.053 に答える
2

オプション --type js ex を使用することを忘れないでください。

yuicompressor --type js -o comressed.js filetocompress.js
于 2010-02-25T17:48:26.143 に答える
2

Apache ant をダウンロードしてインストールし、yui ソースをダウンロードし、ソース コードを編集して (src フォルダー、org および com サブフォルダー内)、進行を妨げているキーワードへのすべての参照を削除できます (非常に速く進みます。約 3 を編集しました)。最初に参照エラーが発生したため、ant を 2 回実行する必要があったと思いますが、キーワードを参照する別の行を削除するだけでした)。ant が正常にコンパイルされると、新しい .jar が作成され、これを使用できます。問題のあるjsをコンパイルします。yuicompressor2-4.7 と "import" キーワード (mozilla 拡張コードでかなり広く使用されています) でこれを行いました

于 2012-02-17T10:24:13.780 に答える
0

複数の行に分割するだけで、自分の人生をずっと楽にすることができます。とにかく圧縮しているので、最終的なサイズに違いはありません...

于 2009-01-31T21:02:28.987 に答える