Когда
window.scrollTo(x,y)
не работает на консоли браузера, и дом отображается после прокрутки, вы можете использовать это.
Для прокрутки на Splash или на любом сервисе рендеринга JavaScript выполните ниже js:
document.body.style.height = "2000px";
window.scrollTo(0,2000);
В Splash вы можете сделать что-то похожее на это:
assert(splash:wait(10))
assert(splash:runjs("document.body.style.height = '2000px';"))
assert(splash:runjs("window.scrollTo(0,2000);"))
assert(splash:wait(2))
assert(splash:runjs("window.scrollTo(0,0);"))
IE и большинство других браузеров будут прокручивать до привязки с помощью anchor.focus () или до любого элемента с идентификатором с помощью element.scrollIntoView (true)
Вы пробовали изменить только location.hash
?
window.location.hash = "#" + hashName;
Я только что тестировал это в IE7 под Vista, может быть, проблема существует только в IE7 под XP? Поскольку у меня это отлично работает в IE7, Chrome и Firefox:
window.location.hash = hashName;
Если это действительно не работает, мы могли бы использовать scrollIntoView, как предлагает Кеннебек.
function scrollToAnchor(anchorName){
//set the hash so people can bookmark
window.location.hash = anchorName;
//scroll the anchor into view
document.getElementsByName(anchorName)[0].scrollIntoView(true);
}
Используйте это так:
<script type='text/javascript'>scrollIToAnchor('foo');</script>
<a name='foo'></a>
<p>I will be scrolled into view</p>