我正在构建一个由多个部分组成的网站。我没有将我的内容分成多个HTML页面,而是计划在每个部分使用URL片段(主要是出于性能原因;我不想为每个页面重新加载整页)。想象一下如下:
<section id="portfolio">
<a href="#project1">Link to Project 1</a>
<a href="#project2">Link to Project 2</a>
....
<a href="#project20">Link to Project 20</a>
</section>
<section id="project1>
Content for Project 1 <img src="project1.jpg" />
</section>
<section id="project2>
Content for Project 2 <img src="project2.jpg" />
</section>
...
这带来了一些明显的困难
为了至少部分解决这个问题,我计划将这些部分拆分为HTML部分。然后使用AJAX加载部分。但是,这意味着我现在依靠JS为网站提供必要的功能。
我的问题是:
<noscript>
元素内的资源?答案 0 :(得分:1)
在您的情况下,将所有部分加载到<noscript>
标记中的HTML包装就足够了。只有在禁用JS时才会呈现内部的资源和DOM,并且该站点的其余部分仍然可以从AJAX中受益。缺点是你的文件使用重复的HTML膨胀。
不,您可以将移动设备和noscript与响应式图像结合使用。将默认src设置为移动分辨率图像,然后使用JS将其切换为更大的版本(如果需要)。这种方式即使禁用JS,也可以节省带宽。这是移动优先发展的原因之一。
使用上面的解决方案,您不必这样做。但请记住,通过适当的缓存和良好的资源管理(即最少数量的请求,良好的压缩,可选择内联的重叠内容),整页加载在移动设备上并不是那么邪恶。
是。我建议结合上面提到的所有内容,使用响应式图像和移动的第一个默认src以及页面上的延迟加载,并假设HTML的<noscript>
副本中的带宽较低。这样,如果启用或禁用JS,则仅加载所需的最小图像。
是的。尝试从this fidle中删除noscript
,然后查看devtools网络监视器中发生的情况。