0

私が達成しようとしていること:

使用している jquery レガシー コードのバージョンは 1.2.6 です。1.9+ が必要な Twitter で Typeahead を使用したい。したがって、noConflict が最初の選択肢になります。1.2.6 ($.browser.msie をサポート) をインポートし、ブラウザーの種類を取得します。1.9 と twitter Typeahead をインポートします。1.2.6 に戻るために noConflict を実行し、変数に noConflict を割り当てます。

コード (jsp ページ内):

    <ps:script src="/jquery/jquery-1.2.6.min.js" />
    <ps:script src="/jquery/jquery.hoverIntent.minified.js" />
    <ps:script src="/mustache/mustache.js" />

    <script src="/autosuggest/jquery-1.9.1.min.js" type="text/javascript"></script>
    <script src="/autosuggest/bootstrap-2.3.1.min.js" type="text/javascript"></script>
     <script type="text/javascript">
     var jq191 = $.noConflict(true);
     // jquery 1.9 does not support $.browser.msie, so do ie check first then pass it to autosuggest
     var ie = false;
            if ($.browser.msie) { ie = true; }

            jq191(function() {
                var url = "<%= System.getProperty("url") %>";
                var autoSuggest = new AutoSuggest(url, [
                    {inputId: "input1", buttonId: "input1button", destination: "dest1"},
                    {inputId: "input2", buttonId: "input2button", destination: "dest2"}
                ], ie);
                autoSuggest.config();
            });
        </script>

config() は、Typeahead などの設定を行うメソッドです。

これまでのところ、Firefox と Chrome では、すべてがうまく機能しています。IE では、この「SCRIPT 428」エラーがランダムにスローされます (文字通りランダムです。このエラーは、ページを 10 ~ 20 回更新または開いた後にのみ表示されます。

私の noConflict() の使い方は正しいですか? 私は何か間違ったことをしていますか?

4

0 に答える 0