确认您的内容出现在 DOM 中

TG Data Set: A collection for training AI models.
Post Reply
rakibhasan
Posts: 203
Joined: Tue Dec 24, 2024 4:57 am

确认您的内容出现在 DOM 中

Post by rakibhasan »

单个井号 (#) –单个井号符号不可抓取。它用于标识锚链接(又称跳转链接)。这些链接允许跳转到页面上的某个内容。URL 中单个井号部分后面的任何内容都不会发送到服务器,并且会导致页面自动滚动到具有匹配 ID 的第一个元素(或具有以下信息名称的第一个 <a> 元素)。Google建议避免在 URL 中使用“#”。
Hashbang (#!)(和escaped_fragments URL)– Hashbang URL 是一种支持爬虫的 hack(Google 现在想避免使用,只有 Bing 支持)。很久以前,Google 和 Bing 开发了一个复 RCS 数据库 杂的 AJAX 解决方案,其中漂亮的(#!)URL 与 UX 共存,并为机器人提供等效的 escaped_fragment HTML 体验。Google 后来放弃了这一建议,更愿意获得准确的用户体验。在转义片段中,这里有两种体验:
原始体验(又名漂亮的 URL):此 URL 必须在 URL 内包含 #!(井号)以指示存在转义片段,或者包含元元素以指示存在转义片段(<meta name="fragment" content="!">)。
转义片段(又称丑陋 URL、HTML 快照):此 URL 将哈希 (#!) 替换为“_escaped_fragment_”,并提供 HTML 快照。它之所以被称为丑陋 URL,是因为它很长,而且看起来像(实际上也是)黑客攻击。
图像结果
图片来源

受到推崇的:
pushState 历史 API – PushState 基于导航,是 History API 的一部分(想想:您的网络浏览历史记录)。本质上,pushState 会更新地址栏中的 URL,并且只更新页面上需要更改的内容。它允许 JS 网站利用“干净”的 URL。当支持浏览器导航进行客户端或混合渲染时,PushState 目前得到 Google 的支持。
pushState 的一个好用途是用于无限滚动(即,当用户点击页面的新部分时,URL 将更新)。理想情况下,如果用户刷新页面,体验将使他们停留在完全相同的位置。但是,他们不需要刷新页面,因为内容会在他们向下滚动时更新,而 URL 会在地址栏中更新。
示例:Google 的 John Mueller (go figure) 创建的搜索引擎友好型无限滚动实现的一个很好的示例可在此处找到。他在技术上利用了 replaceState(),它不包含与 pushState 相同的后退按钮功能。
Post Reply