2012-03-24 56 views
2

我在GitHub(gh-pages)上托管几个静态网页。如果用户尝试访问不可用的页面,他/她将被移动到自定义404.html。JavaScript:404页面,如何获取请求的网址?

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

我已经看过JavaScript's Location-object,但似乎只给予当前URL(本例中为404.html)的访问权限,但不能访问原始请求的URL。我试图实现的是一个404.html,它给出了像“您是否想访问url ......”这样的建议给用户,但为了这样做,我需要访问原始URL。

回答

1

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

0

你需要看看这个网址document.referrer

0

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

0

我已经测试了这个自定义域,并且location.href实际上会给出当前的url,在这种情况下是错误的之一。所以,虽然document.referrer只会给空字符串,location.href会给你想要的网址。

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