Add crossorigin to SCRIPT tag

时间:2017-09-12 作者:Yanick Rochon

有没有办法添加crossorigin 属性到自定义注册的JavaScript?

wp_register_script(\'foo\', \'http://cdn.domain.com/script.min.js\', null, \'1.2.3\');
wp_enqueue_script( \'bar\', \'/path/to/bar.js\', array( \'foo\' ), \'20170912\' );

2 个回复
SO网友:Ismail

script_loader_tagscript_loader_src 过滤器用于轻松调整脚本的HTML,以便添加自定义属性:

add_filter(\'script_loader_tag\', function($tag, $handle){
    switch ( $handle ) {
        case \'foo\':
            $tag = preg_replace(
                \'/src=[\\\'|"|]/i\',
                \'crossorigin $0\',
                $tag
            );
            break;
    }

    return $tag;
}, 10, 2);
为避免与其他插件冲突,请将唯一句柄传递给脚本/样式寄存器/排队函数,foo 在您的情况下:

wp_register_script(\'foo\', \'http://cdn.domain.com/script.min.js\', null, \'1.2.3\');

SO网友:Milan Petrovic

使用wp\\u register\\u script/wp\\u enqueue\\u script函数,您无法做到这一点。也许可以使用WordPress TRAC打开票据,以便在将来的版本中实现。

结束