如何在不强制用户写入的情况下将/字符添加到URL末尾?我开始使用JavaScript和jQuery直接使用SWFAddress (没有Flash),比如this wonderful site。
所以就像这样:
http://mysite.com/section
// and after click to a specific <a ="#">button</a> get
http://mysite.com/section/#/sub-content
// instead of
http://mysite.com/section#/sub-content我已经从下面的代码开始这样做:
$(".time_dot, .time_year").click (function () {
onClickEvent (this);
});
function onClickEvent (dom) {
var timer = setTimeout (function () {
SWFAddress.setValue($(dom).parent().attr("id"));
}, 200);
// do something else
}setTimeout方法用于避免<a>按钮覆盖SWFAddress.setValue方法,但我不知道如何将URL address更改为url.com/content#/...再更改为url.com/content/#/...。
我该怎么做呢?
发布于 2010-12-15 04:49:14
如前所述,如果不强制重新加载站点,则无法更改URL。我觉得你不想这样。(但这取决于SWFAddress.setValue()的实际工作方式,如果它只是在内部跟踪URL(而不更改浏览器的URL),那么您可以做到这一点)
但我想给你一个替代setTimeout的选择
$(".time_dot, .time_year").click (function (event) {
event.preventDefault();
event.stopPropagation();
onClickEvent (this);
});
function onClickEvent (dom) {
SWFAddress.setValue($(dom).parent().attr("id"));
// do something else
}通过这样做,您可以防止单击事件冒泡,还可以防止更改默认操作(将跟随链接)。
参见。
发布于 2010-12-15 04:45:27
如果不重新加载页面,就不能更改URL的“路径”部分。因此,如果您使用的是http://mysite.com/section,则在不重新加载页面的情况下无法导航到http://mysite.com/section/#/sub-content。
发布于 2010-12-15 04:45:42
你的意思是像这样
$(".time_dot, .time_year").click (function () {
setTimeout (function () {
SWFAddress.setValue("/"+$(this).parent().attr("id")+"/");
}, 200);
});https://stackoverflow.com/questions/4443976
复制相似问题