我正在使用可以遵循HTTP重定向的node.js request library,但有没有办法遵循这样的Javascript重定向?
<html>
<head>
<meta http-equiv="refresh" content="0; /subpage"/>
<script type="text/javascript">
window.location.href = '/subpage/';
</script>
</head>
<body></body>
</html>
我唯一能想到的是测试响应头部的window.location.href
值,如果为真,请遵循它。
有更好的解决方案吗?
答案 0 :(得分:4)
使用window.location.href
并不是进行javascript重定向的唯一方法,因此您建议的黑客行为并不适用于所有情况。
此外,如果新网址是一个变量(例如:window.location.url = some_variable
),您将无法捕获它。
确保遵循任何javascript重定向的最佳方式是使用Selenium等网络驱动程序。
此解决方案的优势在于它将遵循任何 html / javascript重定向。缺点是它需要设置,并且webdriver的执行可能很慢。