我正在寻找一些代码,如果用户启用了JavaScript或禁用了JavaScript,我会返回值。
我知道这可能很容易,但我的时间限制非常紧张,很痛。必须有一些东西使用PHP来做到这一点。理想情况下,我希望找到具有页面设置的代码,其中包含可能影响我的脚本的所有可能值。
编辑:显然JavaScript可能会被停用,但是,我希望我能找到一些东西来测试这两种情况。
我的解决方案
对于其他寻找代码以检测用户是否启用了cookie的代码,以下是我最终从下面的帖子中得到的内容...您可以将其放在任何页面的顶部,它可以正常工作...
<?php
// do a cookie test
if (!isset($_SESSION['cookie_check']))
{
if (!isset($_GET['cc']))
{
// drop a cookie in their bag
setcookie("cookiecheck", "ok", time()+3600);
header("Location: ".$common->selfURL()."?cc=1");
exit(0);
}
else
{
// do we have a problem?
if (@$_COOKIE['cookiecheck'] != "ok")
{
// we have a problem
header("Location: /site-diag.php");
exit(0);
}
else
{
$_SESSION['cookie_check'] = true;
}
}
}
?>
答案 0 :(得分:2)
您可以使用jQuery cookie plugin编写Cookie,然后查看是否可以再次阅读。这会告诉你是否在客户端的浏览器中启用了cookie。
答案 1 :(得分:2)
要检查Javascript,他们要么拥有它,要么没有。如果没有,您可以使用<noscript>
标签显示一条消息,要求他们打开它,将元重定向放入其中,等等。这就是您的测试能力。
至于cookies,只需尝试设置一个cookie然后再读回来!由于您担心Javascript处理cookie的能力,我假设您已经使用了一个cookie库,这意味着您可以使用set
函数来测试cookie,然后使用get
函数读回来。如果无法回读测试cookie,则会关闭cookie。
答案 2 :(得分:1)
这是一个用于检查cookie的方法
http://techpatterns.com/downloads/javascript_check_cookies.php
答案 3 :(得分:1)
如果禁用了javascript,则无法使用jquery或prototype。
编写一个写入cookie的函数,然后尝试读取它。
然后在屏幕上输出一些js代码,对一个基本的php脚本进行ajax调用。
如果有访问者表,您可以使用数据库在访问者表上设置两个测试的布尔结果。
答案 4 :(得分:0)
这是我检查是否启用了Cookie和JavaScript的方式:
if($_SESSION['JSexe']) { // 3rd check js
if($_COOKIE['JS']) {
setcookie('JS','JS',time()-1); // check on every page load
}
else {
header('Location: js.html');
}
}
// 2nd so far it's been server-side scripting. Client-side scripting must be executed once to set second cookie.
// Without JSexe, user with cookies and js enabled would be sent to js.html the first page load.
elseif($_COOKIE['PHP']) {
$_SESSION['JSexe'] = true;
}
else { //1st check cookies
if($_GET['cookie']) {
header('Location: cookies.html');
}
else{
setcookie('PHP','PHP');
header('Location: '.$_SERVER['REQUEST_URI'].'?cookie=1');
}
}
在此详细解释:http://asdlog.com/Check_if_cookies_and_javascript_are_enable
答案 5 :(得分:-6)
首先,请注意,如果关闭JavaScript,则无法使用JavaScript来检查Cookie。对cookie的常见检查是写一个,然后阅读它。
您是否关心Cookie启用但JavaScript已关闭的情况?根据这些信息你打算做什么?
我发现this code here用于通过PHP检查cookie。不依赖于JavaScript。 PHP是您的服务器语言吗?
<?php
class cookieCheck
{
public function check()
{
if (setcookie("test", "test", time() + 100))
{
//COOKIE IS SET
if (isset ($_COOKIE['test']))
{
return "Cookies are enabled on your browser";
}
else
{
return "Cookies are <b>NOT</b> enabled on your browser";
}
}
}
}
?>