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, время: 07:12. |