PHP&<noscript>组合在浏览器中检测启用的JavaScript
它是否正确? 如果不是什么是正确的语法
我是新来的PHP,因此试图学习。
<?php
// Check browser for JavaScript support
$jsSupport='true'; ?>
<noscript><?php $jsSupport='false'; ?></noscript>
<?php
if ($jsSupport == 'false') {
include ('no-script-layout.php');
} else {
include ('regular-layout.php');
}
?>
还是有更好的方法来处理这个问题?
<noscript>
标签
您可以使用noscript
标记向javascript浏览器显示内容,并将其重定向到另一个页面(例如nojs-version.php
)。
<!-- Redirect to another page (for no-js support) (place it in your <head>) -->
<noscript><meta http-equiv="refresh" content="0;url=nojs-version.php"></noscript>
<!-- Show a message -->
<noscript>You don't have javascript enabled! Please download Google Chrome!</noscript>
Modernizr的
处理javascript检测(&feature)的更好的方法是使用Modernizr:http://modernizr.com
看看这个SO问题:HTML“no-js”类的目的是什么?
一个基本的例子(没有Modernizr)
您可以将页面加载类no-js
添加到<body>
标记中。 然后在页面加载时,如果启用JavaScript,您可以更换no-js
有js
像这样:
// When the DOM is ready & loaded, do this..
$(document).ready(function(){
// Remove the `no-js` and add the `js` (because JS is enabled (we're using it!)
$('body').removeClass('no-js').addClass('js');
// Assign it to a var so you don't traverse the DOM unnecessarily.
var useJS = $('body').hasClass('js');
if(useJS){
// JS Enabled
}
});
上面的代码是modernizr工作原理的一个非常基本的例子。 我强烈建议使用它。
检查Modernizr
要做到这一点(如果你真的需要从PHP知道用户是否启用了JS):
<script>
// AJAX call to your PHP script to tell it that JS is enabled
</script>
不,那是不正确的。 所有的代码都被解释了,为什么你使用字符串而不是实际的布尔值? 更不用说,您在if语句中使用赋值运算符而不是比较运算符。
链接地址: http://www.djcxy.com/p/96875.html上一篇: PHP & <noscript> combination to detect enabled JavaScript in browser