在 <script> 标签中使用自定义类型属性,例如 jQuery 的 text/x-jquery-tmpl
Posted
技术标签:
【中文标题】在 <script> 标签中使用自定义类型属性,例如 jQuery 的 text/x-jquery-tmpl【英文标题】:Using custom type attribute in <script> tags such as jQuery's text/x-jquery-tmpl 【发布时间】:2011-09-21 01:58:52 【问题描述】:我注意到jquery's beta template plugin 正在使用类型属性“text/x-jquery-tmpl”
例如
<script type="text/x-jquery-tmpl">
过去我没有见过自定义使用 type 属性。有没有人看到当前正在使用的示例,或者像我这样的普通开发人员可以在我们自己的代码中使用它的方式?
我认为它是一种 MIME 类型,但我认为 MIME 类型支持取决于浏览器。所以我会假设不支持自定义 MIME 类型?
【问题讨论】:
如果现在有人遇到这个问题,请注意 jquery 模板插件不再处于开发阶段。 linkedin api也有一些使用类型属性developer.linkedin.com/documents/javascript-api-tutorial的好例子 【参考方案1】:类型实际上确实表明了那里的脚本类型。如果浏览器不理解它,它应该忽略它。在这种情况下,包含模板源而不在屏幕上显示它是一种方便且符合语义的方式。
通常使用 jquery 模板,你会给它一个 id 并通过你的 $(id).tmpl 调用来引用它。
脚本定义在这里: http://www.w3.org/TR/html401/interact/scripts.html#idx-scripting_language
这里的 tmpl 示例: http://api.jquery.com/tmpl/
【讨论】:
感谢@Wesley Tarle,所以即使浏览器不知道如何“渲染/交互”它,其他脚本可以吗?例如jQuery 可以与模板交互,即使浏览器不知道它是什么? 是的,我认为 jQuery 模板引擎只是使用 .innerHTML 从脚本标签存储中抓取内容并进入城镇。 谢谢@Wesley Tarle,你知道除了jQuery 模板之外的其他例子吗?有趣的是,我只见过 jQuery 模板使用此功能。 不,我只看到用于在 IE 中合法地从 Javascript 切换到 VBScript 的标签。我认为这是在页面上存储任意文本的一种很酷的方式! 是的,@Alex。浏览器通常会完全按照您指定的方式构建 DOM、无法识别的标签名称、属性等。这些属性、标签名称和内容在 HTML 文档中是否具有任何意义或行为是一个单独的问题。【参考方案2】:不,服务器提供 MIME 来识别资源。然后浏览器会根据它识别的类型进行操作。
是的,在 HTTP 连接中,浏览器列出了它可以识别的类型,因此服务器可以选择更适合的类型(这里的示例是 HTML 5 和视频,您有一些编解码器选项,而浏览器可能只支持子集)。
在这种情况下,特定的 MIME 有助于向浏览器发出警告信号:“这不是正常的 Javascript,不要像原来那样对其采取行动。”
【讨论】:
谢谢@Pere,那么浏览器如何知道如何在jquery模板示例中解释它,因为我猜浏览器还没有实现x-jquery-tmpl?也许javascript仍然可以与之交互? 我不确定浏览器在其中做了什么,可能是 Javascript 在起作用,但我不知道确切的机制,对此感到抱歉。 不用担心,谢谢@Pere,你看过任何例子/写过关于脚本标签的其他“类型”的例子吗?以上是关于在 <script> 标签中使用自定义类型属性,例如 jQuery 的 text/x-jquery-tmpl的主要内容,如果未能解决你的问题,请参考以下文章