我有以下javascript函数;当我单独使用重载时它工作正常,当我单独使用滚动时工作正常;但是当我将两者结合在一起时它不会滚动;我试图改变顺序,但没有帮助;
function myFunction() {
window.open("http://www.example.com");
location.reload(true);
window.scrollBy(0,1000);
}
提前感谢您的帮助。
答案 0 :(得分:2)
您可以将哈希值设置为somehash
,然后重新加载页面。之后,在您的正文onload
中,检查哈希值,如果哈希为somehash
,请滚动页面。
function myFunction() {
window.open("http://www.example.com");
location.hash = 'somehash';
location.reload(true);
}
将以下函数添加到页面onload
事件处理程序。
function scrollOnload() {
if (location.hash == 'somehash') {
window.scrollBy(0,1000);
}
}
答案 1 :(得分:1)
如果您想在重新加载后让浏览器执行某些操作,则需要将标记保留在某处。以下是使用sessionStorage
:
function myFunction() {
window.open("http://www.example.com");
sessionStorage.setItem('scroll', true);
location.reload(true);
}
document.body.addEventListener('load', function () {
if (sessionStorage.getItem('scroll')) {
window.scrollBy(0, 1000);
sessionStorage.removeItem('scroll');
}
});