0

好的,我一直在做一些关于检测用户是否禁用 css 的研究。我知道世界上甚至没有 2% 的人在禁用 css 的情况下浏览网页,但我仍然需要检测 css 是否已加载。

基本上,我使用经典的 asp 和 jquery 的组合来检测用户是否登录,然后使用 jquery 将使用登录表单淡入窗口上的覆盖层。如果用户转到该特定页面并禁用 css,我的所有内容仍然可供他们使用。

我想知道是否有更好的方法来使用 jQuery 做到这一点?可以检测样式表是否已被即时禁用/删除。

如果禁用了javascript,我已经使用<noscript>重定向用户,但我想采取额外的预防措施并重定向它们。

我尝试只使用一个简单的 javascript 显示检查来查看特定的 div 元素是否被隐藏,以“检测”css是否被禁用。但是在 Chrome 中,如果我在页面上并且我使用 Web 开发人员禁用所有 css,则 javascript 警报不会显示。该警报只是作为检查它的测试,一旦我弄清楚如何正确执行它,我将添加重定向。

非常感谢任何帮助或建议,在此先感谢。

<noscript>
<meta http-equiv='refresh' content='0;url=old_login.asp'/>
</noscript>


<script type="text/javascript">
    var csschk = document.getElementById('nocss');

    if (csschk.style.display = 'none') {
    } else {
        alert('Please enable CSS to view this page');
    }

</script>

<style>
#nocss {
display: none;
}
</style>

<div id="nocss">no css</div>
4

1 回答 1

1

我认为你在这里有更严重的问题。无论是否启用 CSS,一个简单的视图源都会显示您的页面及其内容。

你需要重新考虑你的方法。在显示安全内容之前使用凭据进行普通表单发布,或者如果您想避免页面刷新,请使用 AJAX。

有关使用 Ajax 提交表单的示例,请参见此处: http: //randomactsofcoding.blogspot.com.au/2008/10/jquery-ajax-and-classic-asp.html http://heybigname.com/2009/04/ 15/ajax-with-jquery-a-simple-login-example/ http://blog.webwizo.com/2011/05/04/simple-login-with-php-and-jquery-ajax/

出于学术目的,要检查页面是否具有 CSS,您可以使用 jQuery / JavaScript 来检测头部标签内是否存在链接标签。

您还可以使用Modernizr之类的库来进行功能检测并检查 CSS 功能是否在浏览器中工作。

于 2012-07-14T21:58:47.243 回答