0

我正在使用 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 标签有什么意义,为什么不直接删除它们呢?
这是破坏检查,因为它被那些围绕 CDATA 标记的额外注释搞砸了。

4

1 回答 1

1

据我猜测,虽然CDATAHTML5 中不需要它,但 WordPress 开发人员仍然将它用于使用 HTML4 或 XHTML 的博客和网站,因为在几乎所有情况下它都不会造成伤害。
我自己正在寻找解决方案,因为我想摆脱 --in HTML5-- 不必要的type="text/javascript"属性。

到目前为止,我最好的猜测是,class WP_Scriptswp-includes/class.wp-scripts.php 但我仍在研究如何最好地实现这一点。

于 2013-03-26T19:33:14.420 回答