我有一个大型、动态生成的单页网站,它严重依赖于 javascript。我想为没有 javascript 的人提供备用方案。
每个版本必须有不同的 php 代码,所以基本上我需要一个完全不同的索引页面。我不想将所有东西都包装在 javascript 中,而将其他所有东西都包装在标签中。除非有一种简单的方法可以做到这一点。
根据是否启用 javascript,加载一个页面或另一个页面的最佳方法是什么?
我有一个大型、动态生成的单页网站,它严重依赖于 javascript。我想为没有 javascript 的人提供备用方案。
每个版本必须有不同的 php 代码,所以基本上我需要一个完全不同的索引页面。我不想将所有东西都包装在 javascript 中,而将其他所有东西都包装在标签中。除非有一种简单的方法可以做到这一点。
根据是否启用 javascript,加载一个页面或另一个页面的最佳方法是什么?
首先,要直接回答您的问题,如果使用location.href
. 也就是说,如果用户没有启用 JavaScript,他们将停留在第一页。否则,它们将被重定向到 JavaScript 版本。
但我通常会这样做的方法是首先确保网站在没有 JavaScript 的情况下工作;然后在该普通版本工作后添加 JavaScript 的额外代码。
<a href="foo.php" onclick="return foo();">Foo</a>
在这里,如果没有启用 JS,他们将转到foo.php
. 否则,您可以让函数foo
执行某些操作并返回 false,从而将它们保留在页面上。表格也可以做同样的事情。
使用noscript
标签为用户提供非 JavaScript 页面的途径。
示例:http://jsfiddle.net/xdYNE/ 的代码在http://jsfiddle.net/xdYNE/show/运行(当 JS 关闭时)
(提示:在禁用 JS 的情况下查看它以理解..)
似乎将 PHP 重定向放在 noscript 标记中是最简单的方法。