SWFAddress: добавление символа "/" в конце URL через JavaScript
Как я могу добавить /
полукокса в конце URL
без принуждения пользователя это написать? Я начинаю работать с SWFAddress
с помощью JavaScript
а также jQuery
напрямую (без Flash
) нравится этот замечательный сайт.
Так что-то вроде этого:
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/#/...
,
Как я могу это сделать?
4 ответа
Как уже было сказано, вы не можете изменить 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
}
При этом вы предотвращаете всплывающее событие click, а также предотвращаете изменение действия по умолчанию (которое будет следовать по ссылке).
Смотрите объект события jQuery.
Вы не можете изменить часть пути в URL, не перезагружая страницу. Таким образом, если вы находитесь на http://mysite.com/section, вы не можете перейти на http://mysite.com/section/ без перезагрузки страницы.
function fixUrl(url) {
return url.replace(/\/?$/,'/');
}
//or
function fixUrl(url) {
return url.match(/\/$/)
? url
: url + '/';
}
Ты имеешь ввиду как
$(".time_dot, .time_year").click (function () {
setTimeout (function () {
SWFAddress.setValue("/"+$(this).parent().attr("id")+"/");
}, 200);
});