首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在不违反标准的情况下使用单个标签?

在不违反标准的情况下使用单个标签?
EN

Stack Overflow用户
提问于 2018-07-07 11:24:56
回答 1查看 42关注 0票数 0

我想创建某种API,人们可以在网站中包含隐藏的信息,这样机器人就可以读取信息。

我知道使用元标记是可能的,但我正在考虑使用某种单独的标记,因为这样我就可以使用DOM,它更适合使用,而且更容易被人类阅读。

示例:

代码语言:javascript
运行
复制
<html>
...
<body>
...
<mytag id="123" foo="bar" bar="foo"></mytag>
...
<mytag id="345" foo="bar" bar="foo"></mytag>
...
</body>
</html>

我的问题是,是否有可能通过创建某种DTD来使单个标记以某种方式符合标准?

如果可能的话,我想支持HTML4.01、XHTML和HTML 5。

EN

Stack Overflow用户

回答已采纳

发布于 2018-07-07 13:17:47

必须支持HTML4.01和HTML5使得这很难。不能使用meta**-**name元素(HTML4.01的会起作用,但必须为HTML5注册),不能使用自定义的HTML4.01属性(HTML4.01中不允许使用),不能使用Microdata (只定义 for HTML5+),不能使用自定义元素 (只定义 for HTML5+)。

我能想到两种方法。

script元素作为数据块

在HTML5中,script元素也可以用于数据块。。例如:text/htmltext/plain

HTML4.01规范并不是这样定义的,但它仍然是可能的/有效的(它将理解为“脚本”,但是如果用户代理不识别脚本的内容类型,则不会试图运行它)。

缺点:内容不是文档DOM的一部分。

RDFa

它是允许进入 HTML4.01和HTML5 (您可能必须将DOCTYPE用于较旧的HTML版本,例如,对于XHTML)。

您不能使用自定义元素,但您可以添加propertycontent属性(用于名称-值对),您可以使用typeof来表示“项”(例如,您将使用元素名),还可以在body中使用metalink元素(默认情况下是视觉上隐藏的)。

代码语言:javascript
运行
复制
<div vocab="https://api.example.com/voc#" class="the-hidden-information">

  <div typeof="Item-123">
    <meta property="foo1" content="bar1" />
    <meta property="foo2" content="bar2" />
  </div>

  <div typeof="Item-345">
    <meta property="foo1" content="bar1" />
    <link property="foo5" href="/some-url" />
  </div>

</div>

(当使用RDFa 1.0而不是1.1时,您必须使用vocab)

票数 1
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51222713

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档