jQuery 地址插件 - 内容替换时不起作用
我一直在使用 jQuery 地址插件来启用后退按钮支持,除了当链接位于 AJAX 内容区域时之外,该插件一直有效。例如,
<div id="content">
<a href="example.html" rel="address:example.html" onclick="ajaxLoad(this);">link</a>
</div>
ajaxLoad 将 content
替换为 example.html
的内容。当我尝试执行此操作时,地址栏不会更改,后退按钮只会转到内容区域之外的链接的最后一个实例。
有办法让这项工作发挥作用吗?
编辑:
插件:http://www.asual.com/jquery/地址/
ajaxLoad 函数示例:
function ajaxLoad(obj)
{
$.get(obj, function(data)
{
$("#main").html(data);
});
return false;
}
I've been using the jQuery address plugin to enable back-button support, which has been working except for when the link is in the AJAX content area. For example
<div id="content">
<a href="example.html" rel="address:example.html" onclick="ajaxLoad(this);">link</a>
</div>
where ajaxLoad replaces content
with the content of example.html
. When I try to do this, the address bar does not change, and the back button just goes to the last instance of a link outside the content area.
Is there a way to make this work?
EDIT:
Plugin: http://www.asual.com/jquery/address/
Example ajaxLoad function:
function ajaxLoad(obj)
{
$.get(obj, function(data)
{
$("#main").html(data);
});
return false;
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我使用上下文相关的 window.location 解决了这个问题。
修改过的ajaxLoad:
然后是初始页面加载的处理程序,以及使用后退/前进按钮时:
我不知道这是否是最好的方法,但它有效。
I solved this using context-sensitive window.location.
Modified ajaxLoad:
And then the handler for the initial page load, and when the back/forward buttons are used:
I don't know if this is the best method, but it works.