jquery - 如果使用 jQuery 禁用了 css,则隐藏内容或重定向

标签 jquery css redirect hide

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

基本上,我结合使用经典的 asp 和 jquery 来检测用户是否已登录,然后使用 jquery 将在带有登录表单的窗口上淡入叠加层。如果用户转到该特定页面并禁用 css,他们仍然可以随时访问我的所有内容。

我想知道是否有更好的方法使用 jQuery 来完成这项工作?可以检测样式表是否已被动态禁用/删除的东西。

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

我尝试使用简单的 javascript 显示检查来查看是否隐藏了特定的 div 元素,以“检测”css 是否被禁用。但是在 Chrome 中,如果我在页面上并且我使用网络开发人员禁用所有 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>

最佳答案

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

您需要重新考虑您的方法。在显示安全内容之前使用凭据进行普通表单发布,或者如果要避免页面刷新则使用 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 来检测 head 标签内是否存在链接标签。

您还可以使用类似 Modernizr 的库进行特征检测并检查 CSS 特征是否在浏览器中工作。

关于jquery - 如果使用 jQuery 禁用了 css,则隐藏内容或重定向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11487591/

相关文章:

javascript - Jquery UI 可拖动 : Align helper to mouse position

javascript - 如何解决mouseenter和mouseleave重叠的困境?

javascript - JS : Redirecting with 'window.location' not saving history in Firefox

apache - 仅使用 htaccess 重定向基本 url

asp.net - 结合 jQuery 模式对话框和 ASP.net 服务器端事件的正确方法是什么?

php - 如何在 Ajax 响应中的不同 div 元素中显示 PHP 回显

用于手持设备而非小型浏览器屏幕的 CSS 媒体查询

.htaccess - 如果页面 url 包含特定单词,如何禁用 SSL

css - 每次在 Meteor 中渲染时脉冲模板

html - 父 Div = 向左浮动。子 Div 不显示文本