我假设您不能使用 JavaScript 代码片段来验证浏览器用户是否关闭了 JavaScript。那么我可以用什么代替呢?有人可以提供代码示例吗?
我正在寻找围绕它包装一个 if/then 语句。
我经常用 CFML 编码,如果有帮助的话。
我假设您不能使用 JavaScript 代码片段来验证浏览器用户是否关闭了 JavaScript。那么我可以用什么代替呢?有人可以提供代码示例吗?
我正在寻找围绕它包装一个 if/then 语句。
我经常用 CFML 编码,如果有帮助的话。
这完全是一个技巧,但您可以在 noscript 标记内使用 iframe 来触发 url 上的 HTTP GET,以告诉服务器用户没有启用 javascript。
<body>
...
...
<noscript>
<iframe src ="/nojs.aspx?SOMEIDENTIFIER=XXXX&NOJS=TRUE" style="display: none;">
</iframe>
</noscript>
...
...
</body>
使用 <noscript> HTML 标签。
不确定您要做什么,但如果您只需要通知用户需要 Javascript,您可以使用“<noscript>”标签。如果您需要知道服务器上的信息,您可以从 javascript 向服务器发出 Ajax 样式请求。如果您收到请求,则 javascript 正在工作,否则它不会。
我们是否在谈论这样的事情:
JavaScript:
<body>
...
...
<script type="text/javascript">
<!--
document.write("Hello World!")
//-->
</script>
<noscript>Your browser does not support JavaScript!</noscript>
...
...
</body>
他要求检查是否启用了javascript。我只能想到完全按照 OP 所说的去做 - 如果 JS 被激活,请尝试使用一些带有间隔的 Javascript 来发送回调 - 不幸的是,我认为你不能检查服务器端是否启用了 JS,这就是你使用标签的原因而不是从服务器呈现不同的内容。
如果您使用Unobtrusive JavaScript,那么您不需要检查用户是否启用了 JavaScript。
如果他们启用了 JavaScript,那么他们将获得完整的效果,但如果他们没有,那么用户仍然可以使用您的网站。除了更好的可访问性之外,您可能会发现这种方法可以提高您的 SEO。
<noscript>
...some non-js code
</noscript>
是的,NoScript 片段是正确的。
您可能有 javascript 执行一些 AJAX 查询并检查它是否有。那些下载页面但不执行查询的人要么禁用了 JS,要么他们是机器人。
实际上,您所能做的就是在标签中添加一些信息。我似乎记得在某个地方的 ASP.NET 上尝试过这个,但你真的只能判断浏览器是否支持 Javascript,而不是它是否真的被允许/启用。
我对 CFML 了解不多,但 .NET 具有检测浏览器功能的能力。但是,它无法检测浏览器是否支持javascript,而是将其关闭。所以,你也被困在那里。
除了 HTML noscript 标记,据我所知,除了渐进式编写 javascript(请参阅渐进增强)以便您无需检查 Javascript:off 之外,您无能为力。
我不知道JS,但是可以用JS修改页面内的链接吗?如果有人转到未修改的链接,他们没有使用 JS,但如果他们这样做,那么他们正在使用 JS。这有道理吗?
从来没有想过如何在没有往返的情况下做到这一点,所以这取决于你的目标是什么。
如果他们必须有javascript才能继续,那么我(在.net中)做了一些事情,比如在服务器端禁用登录按钮,然后用javascript启用它的客户端,并使用noscript标签来显示错误消息。
如果它必须以任何一种方式工作,您可以使用渐进增强,和/或使用js设置隐藏字段然后设置会话变量,但这意味着直到他们到达第二个请求您才知道。
你可以写
<script type="text/javascript" language="javascript">document.write("<input type='hidden' name='hasJs' value='1' />");
或者通过 js 写一个 cookie,然后在服务器上读取它,如果你想检查服务器端的 js。
如果您正在寻找一种在服务器端检查它的方法,您可以向用户发送一个放置 cookie 的 js ......如果 cookie 存在于 aa 请求中,那么您可以判断脚本是否有效!
一种可靠的方法是使用 javascript 的 $.post 向您的服务器发送注释。(抱歉,如果这有任何错误,请在我的脑海中写下,稍后会在我开始测试时更新)。应该允许您构建它,这样您甚至可以从会话数据中提取它们(如果他们使用 javascript),这将允许您为 javascript 提供替代品,而无需求助于 .
您的页面脚本:
<script>
function myJavascriptTest(){
$.post ()('myJavascriptTest.php', {myJavascriptOn: true}, function(){
return true;
}
myJavascriptTest()
</script>
在目标 .php 中...
<?php
if ($_POST['myJavascriptOn'] == true){
$_SESSION['javascriptIsOn'] = true;
} else {
$_SESSION['javascriptIsOn'] = false;
}
?>