我假设您无法使用JavaScript代码段来验证浏览器用户是否已关闭JavaScript。那么我可以使用什么呢?有人可以提供代码示例吗?
我想在它周围包装一个if / then语句。
如果有帮助的话,我经常用CFML编写代码。
答案 0 :(得分:6)
这是一个彻头彻尾的黑客,但您可以在noscript标记内使用iframe来触发网址上的HTTP GET,告诉服务器用户没有启用javascript。
<body>
...
...
<noscript>
<iframe src ="/nojs.aspx?SOMEIDENTIFIER=XXXX&NOJS=TRUE" style="display: none;">
</iframe>
</noscript>
...
...
</body>
答案 1 :(得分:5)
使用&lt; noscript&gt; HTML标记。
答案 2 :(得分:5)
不确定您要做什么,但如果您只是需要告知用户需要使用Javascript,您可以使用'&lt; noscript&gt;'标签。如果您需要在服务器上知道,您可以从javascript向服务器发出Ajax样式请求。如果你收到请求,javascript正在工作,否则不是。
答案 3 :(得分:4)
我们在谈论这样的事情:
JavaScript的:
<body>
...
...
<script type="text/javascript">
<!--
document.write("Hello World!")
//-->
</script>
<noscript>Your browser does not support JavaScript!</noscript>
...
...
</body>
答案 4 :(得分:2)
他要求检查是否启用了javascript。 我只能想到OP所说的 - 如果JS被激活,尝试使用一些间隔的Javascript来发送回调 - 不幸的是我不认为你可以检查服务器端是否启用了JS这就是为什么你使用标签而不是而不是从服务器渲染不同的内容。
答案 5 :(得分:2)
如果您使用Unobtrusive JavaScript,则无需检查用户是否启用了JavaScript。
如果他们已启用JavaScript,那么他们将获得完整效果,但如果他们没有,那么用户仍然可以使用您的网站。除了更好的可访问性之外,您可能会发现这种方法可以提升您的搜索引擎优化。
答案 6 :(得分:1)
<noscript>
...some non-js code
</noscript>
答案 7 :(得分:1)
是的,NoScript代码段是正确的。
答案 8 :(得分:0)
你可能有javascript执行一些AJAX查询并检查它是否有。那些下载页面但不执行查询的人要么禁用JS,要么他们是机器人。
答案 9 :(得分:0)
你真正能做的就是在标签中添加一些信息。我似乎记得在某个地方在ASP.NET上尝试这个,但你真的只能告诉浏览器是否支持Javascript,而不是它是否实际允许/启用。
答案 10 :(得分:0)
我对CFML知之甚少,但.NET能够检测浏览器功能。但是,它无法检测浏览器是否具有能力的javascript,但是它已经关闭。所以,你也被困在那里。
除了HTML noscript标签之外,据我所知,除了逐步编写javascript(参见渐进增强)之外,你所做的并不多,所以你不需要检查Javascript:off。
答案 11 :(得分:0)
我不懂JS,但是可以用JS修改页面内的链接吗?如果有人进入未修改的链接,他们不使用JS,但如果他们这样做,那么他们正在使用JS。这有什么意义吗?
答案 12 :(得分:0)
没有往返就没有弄清楚如何做到这一点,所以这取决于你的目标是什么。
如果他们必须有javascript继续,那么我(在.net中)做了一些事情,比如在服务器端禁用登录按钮,然后用javascript启用它的客户端,并使用noscript标签显示错误消息。
如果必须以任何一种方式工作,您可以使用渐进增强,和/或使用js设置隐藏字段然后设置会话变量,但这意味着在他们到达第二个请求之前您不知道
答案 13 :(得分:0)
<script type="text/javascript" language="javascript">document.write("<input type='hidden' name='hasJs' value='1' />");
或以其他方式通过js写一个cookie然后在服务器上读取它,如果你想检查服务器端的js。
答案 14 :(得分:0)
如果您正在寻找一种检查服务器端的方法,您可以向用户发送一个放置cookie的js ....如果cookie存在于请求中,那么您可以判断脚本是否有效不是!
答案 15 :(得分:0)
一种可行的方法是使用javascript&#39; $ .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;
}
?>