3

我正在和一位朋友谈论他们的浏览器中没有启用 javascript 的用户,以及可以做些什么来向他们展示您网站的“无 javascript”版本。

有可能吗?怎么做?

想法?

4

7 回答 7

16

不要尝试构建单独的 JS 和非 JS 版本的网站。构建一个非 JS 版本,然后用 JS 增强它。这使得重用代码变得更加容易,允许您对整个堆栈使用对象/特征检测,并且如果开发人员更新站点的一个分支而不是另一个分支,那么没有 JavaScript 的用户不太可能被抛在后面。

于 2010-05-30T23:05:10.630 回答
7

如果您指的是 javascript,请查找<noscript>HTML 标记。

于 2010-05-30T23:04:43.770 回答
4

如果您正在谈论 JavaScript,并且想要为那些没有 JavaScript 的人提供站点的替代版本,只需给他们站点 without 并将其放在页面顶部:

<script type="text/javascript">
     location.replace('http:javascript-version-of-your-site');
</script>
于 2010-05-30T23:08:05.047 回答
1

像这样:

<html>
<head>
<noscript>
<meta http-equiv="refresh" content="0;url=http://foo/noscript.htm" />
</noscript>
</head>
<body>
...

仅当浏览器上未启用脚本时,才会执行元刷新(声明性重定向)。当然,noscript 标签只有拥有 javascript 引擎的浏览器才能理解。如果您试图捕获根本没有 javascript 的浏览器(我不知道很多),那么这将不起作用。

于 2010-05-30T23:38:51.567 回答
1

我使用这种 JavaScript 和 CSS 的组合

<html>
<style type="text/css">
    .js-on
    {
        display: none;
    }
    .js-off
    {
        background: red;
        color: White;
    }
 </style>
 <div id='jsdetect' class='js-off'><b>Javascript is OFF</b></div>
 <script type="text/javascript">
    document.getElementById('jsdetect').className = 'js-on';
 </script>

</html>

如果您的唯一目的是告诉用户 Javascript 不可用并且该站点将无法运行,这将很有用。

于 2010-05-31T00:55:41.250 回答
0

您可以放置​​一些代码来记录/跟踪/提醒您使用标签禁用 JavaScript 的用户。

<noscript>
   // Do Something
</noscript>
于 2010-05-30T23:07:41.053 回答
0

另一个向您开放的选项而不是明显的 noscript 标签是使用 JavaScript 删除 cookie,然后测试该 cookie 并适当地传递内容。javascript ver 与非重定向或跨度

只是以为我会把它扔在那里..

于 2010-05-31T00:38:35.323 回答