有没有办法添加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\' );
有没有办法添加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\' );
script_loader_tag
或script_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\');
使用wp\\u register\\u script/wp\\u enqueue\\u script函数,您无法做到这一点。也许可以使用WordPress TRAC打开票据,以便在将来的版本中实现。
假设我有两个自定义控件“setting\\u category”和“setting\\u font”,我试图在更改“setting\\u category”的值时更改“setting\\u font”的选择。下面是我正在做的:( function( $ ) { var api = wp.customize; api( \'setting_category\', function( value ) { value.bind( function