location.href странно себя ведет во всех IE
На странице имеется <base href="http://site-name.ru/test/">
При document.location.href="search" со страницы http://site-name.ru/test переходит на http://site-name.ru/search. А вот со страниц типа http://site-name.ru/test/about переходит правильно, на http://site-name.ru/test/search. Так себя ведет только IE (причем любой версии), остальные браузеры любую другую ссылку обрабатывают, как задумано (т. е. при document.location.href="search" со страницы http://site-name.ru/test переходит на http://site-name.ru/test/search). Уже час бьюсь, не знаю даже, как грамотно вопрос гуглу задать, поэтому пишу сюда. |
неужели ни у кого нет мыслей?:(
|
Цитата:
|
Ну всё правильно, так и должно работать. Одно дело, если бы у тебя ссылка была именно такая: site-name.ru/test/, а не такая как в твоём примере.
Не заморачивайся, пиши так: document.location.href = '/test/search/'; |
Цитата:
|
var href = 'search', ie = '\v'=='v';
function locat_IE(href){
var f=document.createElement('form');
f.action=href;document.body.appendChild(f);f.submit();
}
if(ie)locat_IE(href);else location.href = href;
Или типовой путь
<!DOCTYPE HTML>
<html>
<head>
<base href="http://site-name.ru/test/">
<script type="text/javascript">
function GetBaseURL () {
if ('baseURI' in document) {
alert ("The base URL for the document:\n" + document.baseURI);
}
else {
var baseTags = document.getElementsByTagName ("base");
if (baseTags.length > 0) {
alert ("The base URL for the document:\n" + baseTags[0].href);
}
else {
alert ("The base URL for the document:\n" + window.location.href);
}
}
}
</script>
</head>
<body>
<button onclick="GetBaseURL ()">Get the base URL for the document</button>
</body>
</html>
|
иногда решение лежит где-то рядом, а мы все усложняем)))
document.location.href = $('base').attr('href') + 'адрес';
|
roxoman93,
1. Вы не говорили что есть jQuery ибо там просто мон создать тег <а>
$(function(){
var b = $("<a>",{href:"."})[0].href;
document.location.href = b + 'адрес';
});
Кроме <base href="http://site-name.ru/test/"> Есть и <base target=""> Есть уверенность что оно не стоит первым ? И есть уверенность, что <base href="http://site-name.ru/test/"> единственное на странице ? |
Цитата:
|
| Часовой пояс GMT +3, время: 00:23. |