我正在使用wp_localize_script将一些变量从PHP传递到客户端javascript。此函数最终调用另一个执行此操作的函数:
function print_extra_script( $handle, $echo = true ) {
if ( !$output = $this->get_data( $handle, 'data' ) )
return;
if ( !$echo )
return $output;
echo "<script type='text/javascript'>\n"; // CDATA and type='text/javascript' is not needed for HTML 5
echo "/* <![CDATA[ */\n";
echo "$output\n";
echo "/* ]]> */\n";
echo "</script>\n";
return true;
}
现在评论那些CDATA标签有什么意义,为什么不删除它们呢? 这打破了inspectlet,因为围绕CDATA标签的那些额外评论搞砸了。
答案 0 :(得分:1)
据我猜,因为尽管HTML5中不需要CDATA
,但WordPress开发人员仍然将其包含在使用HTML4或XHTML的博客和网站中,因为几乎在每种情况下它都不会危害。
我正在寻找一个解决方案,因为我想摆脱--in HTML5--不必要的type="text/javascript"
属性。
到目前为止,我最好的猜测是从class WP_Scripts
扩展wp-includes/class.wp-scripts.php
但我仍在研究如何最好地实现这一目标。
答案 1 :(得分:0)
这里有WordPress的官方Inspectlet插件顺便说一下:https://wordpress.org/plugins/inspectlet-heatmaps-and-user-session-recording/