当JavaScript被禁用时如何创建浏览器返回按钮?

3

如果用户禁用了JavaScript,那么使用表单或链接创建浏览器返回按钮是否不可能?


1
你可以使用 PHP 获取最后一个 URL:(isset($_SERVER["HTTP_REFERER"]) ? $_SERVER["HTTP_REFERER"] : "") - noob
3
为什么要创建一个“返回”按钮,浏览器本身已经有了这个功能? - Chris Baker
@Chris 我可能得这么做。 - Jay
5个回答

5
没有服务器端脚本是不可能的。 但是您可以像这样显示一条消息:

1)

<noscript>
    Sorry, I can’t show you that information unless you enable 
        Javascript for your web browser. 
        To go back to where you were, just click/tap your “back” button.

    <style type="text/css">
        #main-content { display:none; }
    </style>
</noscript>

2)
或者像这样的页面:
http://saveyourself.ca/help-no-javascript.php


4

最简单的方法是在服务器端完成。如果你能获取HTTP Referrer(这在许多服务器端语言中都可以实现),那么你就可以构建一个链接并将其附加到页面的常规HTML中。


2
禁用JS,服务器端是唯一的选择;) - Christoph
2
“Only”是一个强烈的词语。你可能会用Flash或Silverlight实现某些功能,但如果可以的话,我不知道如何做到。 - kemiller2002
在我看来,Flash和Silverlight不值得一提,因为这又是一个专有插件,很容易被禁用或者甚至未安装。 - Christoph
当然是这样的。他提到了JavaScript被禁用时。我们不知道他的具体情况。这些可能是可行的选项,不提及它们意味着我们在假设什么是可以接受的和什么是不可以接受的。我不会以这种方式去做,但他可能会发现其中一种是最好的方法。 - kemiller2002
好的,没问题!;) 我不会提及这个,因为我反对在网页上使用非标准技术,并且在我的作为 Web 工程师的生涯中成功地避免了它们:-D - Christoph
任何禁用JavaScript的人都是在禁用所有第三方插件之后这样做的... 在我看来,这只是一个事实 ;) - Ryan Wheale

1

没有服务器端脚本?不行,这是不可能的。

但是,如果你能够运行服务器端脚本,那么你可以保存引荐者并自己创建一个链接(<a href="{REFERRER}">返回</a>)。请注意,有些浏览器不会发送引荐者信息。


0

我相信当浏览器禁用JavaScript时,你无法使用任何JavaScript命令。但是你仍然可以使用浏览器的后退按钮(不完全确定,因为我从未尝试过)。但是如果用户禁用了JavaScript,则网站上许多功能将无法正常运行。大型网站通常不允许未启用JavaScript的用户进行太多操作。其中一个例子是存储cookie等。

但是,有些方法可以使用PHP来实现这一点。


返回按钮不受禁用JavaScript的影响,您可以通过HTTP存储和读取Cookies,无需使用JavaScript。 - Zeta
@Zeta 当然没错!history.back(); 来自 DOMWindow 的 window.history.back - noob
@micha:我指的是浏览器的返回按钮,而不是自定义按钮;)。当然,window.history.back() 是无法起作用的。 - Zeta
@micha 不是真的!history.back() != 浏览器返回按钮 - Christoph
他正在创建一个按钮,因此他不是在谈论浏览器的后退按钮。 - noob

0
一个服务器端可以获取HTTP_REFERER并将其动态添加到当前页面。但是,如果您知道他们最有可能来自哪里,您可以通过将最有可能的返回目标作为链接放置在那里来模拟后退按钮。更多

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接