2

ローカリゼーション(javascript を翻訳するため) とフェイスボックス (誰もがそれを知っていますか?)の 2 つのプラグインを連携させようとすると問題が発生します。

問題なく個別に動作させることができますが、ローカリゼーション プラグインが読み込まれ、facebox モーダルを起動するリンクをクリックすると、ajax リクエストが開始され、facebox モーダル ウィンドウが (ロード中の gif とともに) 表示され、リクエストが直接表示されます。中止されました (URL が赤くなり、「中止されました」という単語が firebug に表示されます)

Firefoxのエラーコンソールでは、「ゲッターのみを持つプロパティを設定する」と表示され、ファイルを指しています:jquery-1.4.min.js、126行目(チェックしたところ、jquery 1.3.2で同じエラーが発生します)

そして、ここに私のコードがあります:

$(document).ready(function() {
    $.localise('idioma', {language: AmigoPoints.lang, path: AmigoPoints.baseHref + '/public/js/jquery/'});
    //añadir /format/html/ a los href para que sea AJAX para ZF
    $('a[rel*=facebox]').each(function() {
        this.href += '/format/html';
    })
    // inicializa el plug-in que lanza nuevos links en ventanas modales
    jQuery('a[rel*=facebox]').facebox();
})

エラーは jquery ファイルにあるため、この問題を解決するためにどこを見ればよいかわかりません。エラーはコードにあると思いますが、表示されません。誰か考えますか?

4

1 に答える 1

0

さて、私は「解決策」を見つけました。ローカリゼーション プラグインを使用する代わりに、ユーザーの言語設定に従って言語ファイルを Web ページに直接ロードします。問題は、プラグインが言語ファイルを ajax リクエストでロードするという事実にあると思います。それはファイルであるため (通常のリクエストとは反対に)、jquery はその後通常の AJAX リクエストを実行するのに問題があります。この動作を回避する方法があるかもしれませんが、誰かが知っている場合は教えてください。とにかく、JavaScript が翻訳され、facebox プラグインが機能していることはわかっているので、満足しています。Adam と Pointy のアドバイスに感謝します。またね

于 2010-02-27T15:06:14.953 に答える