JavaScript:404页面,如何获取请求的网址?

时间:2012-03-24 13:49:50

标签: javascript

我在GitHub(gh-pages)上托管了几个静态网页。如果用户尝试访问不可用的页面,则会将他/她移至自定义404.html。

我想知道的是,是否可以使用JavaScript从自定义404.html访问原始请求的网址?没有PHP或任何其他服务器端技术。

我查看了JavaScript's Location-object,但似乎只能访问当前网址(在本例中为404.html),而不是原始请求的网址。我想要实现的是一个404.html,它向用户提供了“你是否意味着访问URL ...”这样的建议,但为了这样做,我需要访问原始URL。

4 个答案:

答案 0 :(得分:1)

你唯一的希望是document.referrer但当然GH需要设置它,这对于任何从请求中返回HTTP 404的页面都不太可能......

答案 1 :(得分:0)

您需要查看document.referrer

中的网址

答案 2 :(得分:0)

由于服务器将用户移动到404页面,因此JavaScript无法知道所请求的URL。 如果您添加.htaccess以将用户重定向到包含url:page.php?url = requested_url的页面,则可能是可能的,然后requested_url出现在地址栏中,可以通过javascript读取。

答案 3 :(得分:0)

我已经使用自定义域进行了测试,location.href实际上会提供当前网址,在这种情况下是错误网址。因此,虽然document.referrer只会提供空字符串,但location.href会提供您想要的网址。

我想知道这是否与您托管的GH页面有关,以及您是否使用自定义域名。但是,我的理解是,只能使用自定义域投放自定义404.html。