我jQueryUI Auto-complete
在我的网站上使用它,window.history.pushState
它会在不刷新页面的情况下更改浏览器 URL。它完美地工作Chrome
,Mozilla
但不幸的是它不能按照我想要的方式工作Internet Explorer 9
。情况就是这样,我可以通过页面上的标签jQueryUI Auto-complete
搜索地区、县和邮编。<input />
然后,如果我单击自动完成的任何建议结果,则使用window.history.pushState
浏览器 URL 更改为 from www.example.com/sites
towww.example.com/sites/selected_region
而不刷新页面。现在正如我所说的那样,它可以运行Chrome
,Mozilla
但它会失败IE9
,因为当我单击任何建议的结果时会发生什么jQueryUI Auto-complete
,它既不会更改浏览器 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;
}
});
请随时以任何可能的方式纠正我。干杯。