javascript - 如何在新加载的页面上使用相同的 JavaScript 代码(来自重定向)

标签 javascript redirect scroll

我基本上是在尝试在多个网站上模拟用户体验,所以我想要一个脚本来重定向到一个新网站,开始滚动到底部,然后返回到原始网站。这是我的代码,它可以很好地加载页面但不会滚动。

<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>

我还没有到达重定向后页,但这并不重要。谢谢!

最佳答案

有很多问题会阻止它工作:

  1. 当您将窗口位置设置为新 URL(无论它是否为外部 URL)时,当前页面上的 JavaScript 将停止执行。它无法访问新页面,因为它已被完全替换(已卸载)。所以,这意味着您的“window.onload”代码将永远不会被调用。新页面现已激活。
  2. 如果您尝试使用 iframe 方法并将外部页面加载到 iframe 中,那也不会起作用,因为如果网站来自不同的域,您的代码将无法访问内部网页(和 scrollBy 函数)。你可能会读到 this有关此安全功能的更多信息。如果您的外部页面来自网络服务器:www.example.com,而内部内容来自 www.microsoft.com,则 www.example.com 中的脚本(和您的滚动代码)将无法滚动文档.

有许多免费提供的脚本/自动化工具可以提供更好且 100% 可靠的用户模拟。例如一个来自 Telerik .您可能想要查看那些取决于您要完成的任务。

关于javascript - 如何在新加载的页面上使用相同的 JavaScript 代码(来自重定向),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9607500/

相关文章:

jquery - 强制容器滚动到容器底部的元素

javascript - socket.emit()不起作用

javascript - 如何确定 connectNative 是否失败或成功

javascript - 单选按钮在 jquery 弹出框中不起作用

php - 在 Laravel 5 中更改密码重置重定向链接

css - 重定向时同一页面布局的jsf差异

html - 以视差滚动方式滚动页面

javascript - 将 async/await 与 forEach 循环结合使用

使用 nginx 重定向某个域的所有流量

jquery - 当在 DIV 中使用鼠标滚轮时,纳米滚动条不起作用