我基本上是在尝试在多个网站上模拟用户体验,所以我想要一个脚本来重定向到一个新网站,开始滚动到底部,然后返回到原始网站。这是我的代码,它可以很好地加载页面但不会滚动。
<html>
<head>
<title>Benchmark</title>
<script type="text/javascript">
function loadUrl(newLocation)
{
window.location = newLocation;
window.onload=pageScroll;
}
function pageScroll() {
window.scrollBy(0,50); // horizontal and vertical scroll increments
scrolldelay = setTimeout('pageScroll()',100); // scrolls every 100 milliseconds
}
</script>
</head>
<body>
<a href="javascript:void" onclick="loadUrl('anysite.com'); return false;">link-1</a>
</body>
</html>
我还没有到达重定向后页,但这并不重要。谢谢!
最佳答案
有很多问题会阻止它工作:
- 当您将窗口位置设置为新 URL(无论它是否为外部 URL)时,当前页面上的 JavaScript 将停止执行。它无法访问新页面,因为它已被完全替换(已卸载)。所以,这意味着您的“window.onload”代码将永远不会被调用。新页面现已激活。
- 如果您尝试使用 iframe 方法并将外部页面加载到 iframe 中,那也不会起作用,因为如果网站来自不同的域,您的代码将无法访问内部网页(和 scrollBy 函数)。你可能会读到 this有关此安全功能的更多信息。如果您的外部页面来自网络服务器:www.example.com,而内部内容来自 www.microsoft.com,则 www.example.com 中的脚本(和您的滚动代码)将无法滚动文档.
有许多免费提供的脚本/自动化工具可以提供更好且 100% 可靠的用户模拟。例如一个来自 Telerik .您可能想要查看那些取决于您要完成的任务。
关于javascript - 如何在新加载的页面上使用相同的 JavaScript 代码(来自重定向),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9607500/