Javascript和PHP一样有打开和关闭标签吗?
Does Javascript Have Open and Close Tags Equivalent to PHP?
我在一个WordPress管理页面上遇到了这样的代码:
<script type="text/html" id="tmpl-uploader-inline">
<# if ( data.message ) { #>
<h3 class="upload-message">{{ data.message }}</h3>
<# } #>
</script>
标签<#>和#>是javascript/html语法的一部分还是这里发生了其他事情?我试着用谷歌搜索,但谷歌在搜索某些类型的符号时似乎有问题。它们永远不会出现在搜索结果中。
更新:根据目前的答案,如果标记中的代码是由服务器端的模板引擎处理的,那么为什么在浏览器中显示为页面源代码呢?它不应该只显示模板处理的结果吗?
通用技术
这是一个Javascript模板Wordpress从3.4.1版本开始使用Backbone.js。你可以在Backbone.js中建模视图,当底层Javascript对象发生变化时,视图会自动更新,请参阅相应的Backbone.js文档。Backbone.js也是基于underscore.js,它基本上是Javascript实用函数的集合。其中一个函数是_.template
,它接受一个模板字符串(例如您发布的HTML标签的内容)和一个Javascript数据对象,并用数据对象中的值替换变量,并计算简单表达式。
取自underscore.js手册中的示例:
var compiled = _.template("hello: <%= name %>");
compiled({name: 'moe'});
=> "hello: moe"
<标题> Wordpress适应h1> 常的_.template
语法应该是<%= name %>
,但无论出于何种原因,Wordpress开发人员认为所谓的erb风格不合适并更改了它。您可以在wp-includes/js/wp-util.js
3.9版本中看到这一点。在第20行左右,其中options
散列被一些正则表达式覆盖。基本上,语法被更改为使用{{ name }}
输出变量的值,并且正在计算<# if ... #>
。(第一个看起来有点像mustache.js使用的语法。)
<标题>进一步阅读这是一个教程(第1部分,第2部分),涵盖了在Wordpress后端使用Backbone.js。
在这里有人收集了很多关于这个主题的资源在Wordpress(和一般)。
标题>标题>它确实有打开和关闭标记。
<script></script>
其他标签
<# #>
是模板标签。它们之间的区别在于<script>
标记将在客户端的浏览器上运行,而其他标记(<#
)在将页面发送到浏览器之前在服务器上运行。
这些标签不是JavaScript或HTML的一部分,而是模板引擎使用的标签。
相关文章:
- 检测用户关闭标签页或离开网站
- 在脚本结束之前关闭来自 PHP 的 AJAX 请求
- 在 WebGL 中关闭
- 标签
- 不要打开新标签页、关闭标签页或关闭浏览器窗口
- 如何禁用 jQuery 为您关闭 P 标签
- 在<脚本>标签(php)
- Firefox插件-如何关闭标签打开后,他们
- 检测关闭标签/浏览器没有消息等
- Javascript和PHP一样有打开和关闭标签吗?
- Javascript代码关闭标签,适用于IE, Firefox和Chrome
- 打开和关闭标签在铬与计时器
- 文档的自关闭标签问题.Javascript中的innerHTML
- 关闭按钮关闭标签面板中的活动选项卡,而不是标签按钮附加到EXTJS(标签动态创建)
- 加载新站点时关闭标签页
- jQuery对话框:我如何改变关闭标签的样式
- 字符串处理添加尾斜杠到自关闭标签(IMG, BR等)
- 如何防止关闭标签被移除
- 发送报头后关闭网页(php)
- 选择标签php生成的代码需要javascript交互
- 在HTML onload标签php中返回函数's参数后的未定义javascript值