gpt4 book ai didi

javascript - 除非启用 JavaScript,否则我可以在网页上静态加载数据吗?

转载 作者:行者123 更新时间:2023-11-28 21:07:51 25 4
gpt4 key购买 nike

假设我有一个单页网站,并且我想等待加载折叠下的任何内容(使用 ajax),直到用户单击链接转到同一页面上的该内容。但是,我不希望禁用 JavaScript 的用户看不到首屏下的任何内容。使用 ajax 加载内容的全部原因是为了使初始页面加载速度更快,因此以任何一种方式加载内容然后隐藏直到用户单击都是毫无意义的。我确信只有在启用了 JavaScript 的情况下才可以加载内容,但是如果在浏览器中启用了 JavaScript,是否可以不加载特定的“静态”或服务器端生成的内容?

如果浏览器中启用了 JavaScript,是否有任何方法可以阻止服务器在初始页面加载时加载特定的静态内容?

最佳答案

您可以考虑使用noscript标签。

<body>
<h1>Above the fold header</h1>
<video src="fancy-cat.mp4" ... />

<div id="below-the-fold">
<noscript>
<!-- Users with Javascript disabled get this content -->
<h2>My cat plays piano</h2>
<video src="piano-cat.mp4" ... />

<h2>My cat knows how to use the toilet</h2>
<video src="potty-cat.mp4" ... />
</noscript>
</div>

然后您可以使用javascript复制这些<noscript>的内容页面加载时标记并将它们插入到 DOM 中。

innerHTML noscript 标签的属性将返回 HTML 的编码字符串。但你可以使用方便的花花公子 Encoder脚本将其转换为 DOM 喜欢的内容。

  <script src="http://www.strictly-software.com/scripts/downloads/encoder.js"></script>
<script>
$(window).load(function() {
// Copy the 'noscript' contents into the DOM
$("noscript").each(function() {
$(this).after(Encoder.htmlDecode($(this).html()));
});
});
</script>
</body>

或者,如果“首屏”内容确实包含大量图像/视频,您可能只想考虑 Lazy Loading内容。

关于javascript - 除非启用 JavaScript,否则我可以在网页上静态加载数据吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9404509/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com