У меня есть страница, полная ссылок на другую страницу с привязками на конце (как это: индекс html#anchor). На странице они указывают на, у меня есть сценарий, который, как предполагается, читает, где точки привязки к тому, для отображения чего-то.
На Firefox это работает отлично, Но я заметил, что IE, кажется, удаляет #anchor из конца URL, таким образом, сценарий не может захватить текст. Существует ли путь вокруг этого без какого-либо серверного кода?
window.location
все еще содержит привязку к IE, или она тоже там удалена? Если он все еще там, вы можете использовать window.location
и разделить хэш:
var whole = "" + window.location; // location is object, make sure it's a String
var parts = whole.split('#');
var anchor = parts[1];
Как получить URL?
window.location.hash
должен содержать содержимое хэша .
Просто попробуйте вот так
var url = window.location.search.substring(1)
var arr=url.split("#")
str=arr[1]
Я протестировал следующий код в IE 6, 7 и 8, и во всех случаях в окне предупреждения отображается правильный хэш.
<script type="text/javascript">
function showHash() {
var currentUrl = "" + document.location;
var hash = "";
var parts = currentUrl.split("#");
if (parts.length > 1) {
hash = parts[1];
}
alert("the current hash is: " + hash);
}
</script>
<input type="button" value="Show Hash" onclick="javascript: showHash();" />
Этот код вам подходит?