browser - 浏览器如何检测 HTML 页面中嵌入的 Web 内容?

标签 browser tags hyperlink

一旦浏览器获取了主 html 页面,它如何知道哪些嵌入内容应该再次向 Web 服务器请求,哪些只是外部链接?它是否基于标签类型,例如?

如果是这样,有人可以给我引用这些标签是什么吗?

谢谢。

最佳答案

HTML5 规范定义了元素类别“Embedded content”:

Embedded content is content that imports another resource into the document, or content from another vocabulary that is inserted into the document.

它列出了以下元素:

  • 音频
  • Canvas
  • 嵌入
  • iframe
  • img
  • 数学
  • 对象
  • svg
  • 视频

诸如 linkscript 之类的元素(均在 Metadata category 中)也可以引用用户代理(浏览器、屏幕阅读器等)免费的其他资源链接到或包含或做任何他们想做的事情。例如,Firefox 或 Chromium 等浏览器将(默认情况下)加载并“应用”在 link 元素中链接的 CSS,该元素的 rel 值 = 样式表。 Lynx 或 w3m 等浏览器不会这样做。他们只是忽略该链接。


对于链接,HTML5 states哪些链接类型“是指向用于扩充当前文档的资源的链接,通常由用户代理自动处理”:

Two categories of links can be created using the link element: Links to external resources and hyperlinks. The link types section defines whether a particular link type is an external resource or a hyperlink.


也许还可以考虑 style 属性(对于内联 CSS),其中可能包含 background-image url

关于browser - 浏览器如何检测 HTML 页面中嵌入的 Web 内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12320239/

相关文章:

javascript - 有兴趣跟踪用户浏览网站时触发的事件

HTML5 void 元素的结尾/是可选的,但它更可取吗?

python - 生菜场景可以有多个标签吗?

MongoDB:按标签获取文档

reactjs - HTML anchor 标记是否可以用于 Gatsby 中的内部链接?

redirect - 直接链接与重定向

html - 超链接中的鼠标悬停样式

安卓浏览器扩展

c# - 打开网络浏览器,自动完成表单组件并提交

javascript - 如果没有明确导入任何 require 框架,在 Electron 的客户端中使用 require 如何合法?