0

私はjQueryUI Auto-complete自分のサイトで使用していwindow.history.pushStateます。これは、ページを更新せずにブラウザの URL を変更するものです。それは完全に機能しますChromeMozilla、残念ながら、私が望んでいた方法では機能しませんInternet Explorer 9。状況は次のとおりです。私のページのタグを使用しjQueryUI Auto-completeて、地域、郡、および郵便番号を検索できます。<input />次に、オートコンプリートの提案された結果のいずれかをクリックすると、ブラウザの URL を使用して、ページを更新せずにto にwindow.history.pushState変更されます。今私が言ったように、それは動作しますが、失敗します。www.example.com/siteswww.example.com/sites/selected_regionChromeMozillaIE9jQueryUI Auto-complete、 browser-url を変更することも、提案のリストを閉じることもありません。絶対にサポートしませんwindow.histoty.pushState。そこで、 を使用して機能する可能性のある解決策を検索して見つけましたhistory.js。指示に従ってサーバーにアップロードし、ファイルを含めましたが、使用されhistory.jsている他のファイルと競合することがわかりました.js。どうすればこれを修正できますか? 前もって感謝します。

PS:これが私の使い方ですwindow.history.pushState

$( "#find" ).autocomplete({
minLength: 1,
source: function(request, response) {
            var results = $.ui.autocomplete.filter(locations, request.term);
            response(results.slice(0, 10));
        },
focus: function( event, ui ) {
    $( "#find" ).val( ui.item.value );
    return false;
},
appendTo: "#results",
open: function(){
    var position = $("#results").position(),
                    left = position.left, top = position.top;

            $("#results > ul").css({left: (left + 15) + "px",
                                                    top: (top + 30) + "px", width: (206) + "px" });
},

select: function( event, ui ) {
    $( "#find" ).val( ui.item.value );
    $(":header.title").html(ui.item.value);

    var base = '/stats/';
    var url = base + ui.item.href;
    var label_name = ui.item.value;
    document.title = "Statistics for " + label_name + "| ASI";
    window.history.pushState({"url":url}, document.title, url);
    return false;
}
});

可能な限り私を修正してください。乾杯。

4

0 に答える 0