【问题标题】:Prevent to load a page with js disabled防止加载禁用 js 的页面
【发布时间】:2016-09-20 18:24:36
【问题描述】:

如果在用户的浏览器上禁用了js,是否可以禁用整个页面的html?
编辑:
谢谢大家的回答和cmets!但是,我的意思是:在这种情况下,我希望将页面替换为其他内容,例如图像。

【问题讨论】:

  • 不完全是重复的,但这个帖子会回答你的问题:stackoverflow.com/questions/6724515/…
  • 您的意思是禁用页面链接吗?或者您所说的“禁用”到底是什么意思?
  • 默认情况下,您可能需要页面通过 JS 调用来呈现替换的内容,该调用实际上将其替换为真实内容。如果 JS 被禁用,则调用不会通过并显示故障转移内容,但如果 JS 调用成功,则会显示正确的内容
  • 我编辑了这个问题。对不起,如果我不够清楚。
  • @Yosvel 的答案就是你想要的。

标签: javascript html loading


【解决方案1】:

noscript 标签为在浏览器中禁用脚本或浏览器不支持脚本的用户定义了替代内容。

您可以在 html 正文中执行类似的操作来显示您想要显示的任何图像:

<noscript>
    <style type="text/css">
        .wrapper {display:none;}
    </style>
    <div>
        <img src="src/to/your/image.png" alt="You don't have javascript enabled">
    </div>
</noscript>

noscript 标签内的 css 将隐藏 wrapper 类内的 html 内容。

【讨论】:

  • 非常感谢!
【解决方案2】:

我不知道。您需要以某种方式告诉浏览器阻止与其链接的操作/事件,例如返回 false,这是 javascript 的任务。我可以提出两种选择:

让所有的anchors变成假人,并在JS开启时更正:

<a href="#" data-href="/actual-url">foo</a> 
$('a').each(function(){ this.href = $(this).data("href");} // * jQuery for simplicity

在anchor上面放一层,可以用JS去掉。

.BlockedAnchor a{ position: relative; }
.BlockedAnchor a:before{ 
    position: absolute; 
    display: block;
    top: 0; 
    left: 0;
    width: 100%;
    height: 100%;
}
$('body'removeClass("BlockedAnchor");

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-09-28
    • 2016-01-03
    • 2018-10-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多