This question already has answers here:
Is there a HTML opposite to <noscript>?
(12个答案)
6年前关闭。
是否存在与
当然
谢谢,
多纳尔
...或者,在jQuery很少帮助下
为了改善用户体验,请考虑将
另外,您也可以使用
(12个答案)
6年前关闭。
是否存在与
<noscript>
相反的HTML标记?也就是说,仅在启用JavaScript的情况下才显示某些内容?例如:<ifscript>
<h1> Click on the big fancy Javascript widget below</h1>
<ifscript>
当然
<ifscript>
实际上并不存在。我知道我可以通过使用JavaScript将<h1>
添加到DOM来达到相同的结果,但是如果可能的话,如果我更愿意使用(X)HTML来做到这一点。谢谢,
多纳尔
最佳答案
<script>
用于。刚开始时使用CSS隐藏特定的部分,然后使用JavaScript进行显示。这是一个基本的启动示例:
<!doctype html>
<html lang="en">
<head>
<title>SO question 2297643</title>
<script>
window.onload = function() {
document.getElementById("foo").style.display = 'block';
};
</script>
<style>
#foo { display: none; }
</style>
</head>
<body>
<noscript><p>JavaScript is disabled</noscript>
<div id="foo"><p>JavaScript is enabled</div>
</body>
</html>
...或者,在jQuery很少帮助下
ready()
可以更快地显示内容:<!doctype html>
<html lang="en">
<head>
<title>SO question 2297643 with jQuery</title>
<script src="http://code.jquery.com/jquery-latest.min.js"></script>
<script>
$(document).ready(function() {
$('#foo').show();
});
</script>
<style>
#foo { display: none; }
</style>
</head>
<body>
<noscript><p>JavaScript is disabled</noscript>
<div id="foo"><p>JavaScript is enabled</div>
</body>
</html>
为了改善用户体验,请考虑将
<script>
调用直接放在需要切换的特定HTML元素之后,这样就不会出现“内容闪烁”或“元素混洗”的情况。安德鲁·摩尔(Andrew Moore)在此主题中给出了good example。另外,您也可以使用
<style>
中的<noscript>
来做到这一点(hacky)。从语法上讲,这是无效的,但所有IE6及更高版本的浏览器(包括W3C严格的Opera)都允许这样做:<!doctype html>
<html lang="en">
<head>
<title>SO question 2297643 with CSS in noscript</title>
</head>
<body>
<noscript>
<style>#foo { display: none; }</style>
<p>JavaScript is disabled
</noscript>
<div id="foo"><p>JavaScript is enabled</div>
</body>
</html>
关于javascript - <noscript>的对立面,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2297643/
10-13 02:36