function defer_css( $html, $handle ) {
$handles = array( 'some_id' );
if ( in_array( $handle, $handles ) ) {
$html = str_replace( 'media=\'all\'', 'media=\'print\' onload="this.onload=null;this.media=\'all\'"', $html );
}
return $html;
}
add_filter( 'style_loader_tag', 'defer_css', 10, 2 );
< /code>
Это, конечно, отвергается моим CSP. Чтобы избежать этого, я стараюсь внедрить ссылку со сценарием, который имеет атрибут Nonce (идентичный тому в заголовке): < /p>
function x_style_loader_tag($html, $handle, $href) {
$async_loading = array(
'some_id'
);
if (in_array($handle, $async_loading)) {
$nonce = apply_filters("TOA_PLUGIN/nonce_scriptx", NULL);
$script = ''.
//printing nonce to the console to see if it matches the csp header, which is true
'console.log(\''.$nonce.'\'); '.
'let s = document.createElement(\'link\'); '.
//'s.id = "'.$handle.'"; '.
's.rel = "stylesheet"; '.
's.href = "'.$href.'"; '.
's.media = "print"; '.
//the following line does not swap the media attribute to all
's.onload = "this.onload=null;this.media=\'all\'"; '.
'document.head.appendChild(s); '.
'';
$html = $script;
}
return $html;
}
add_filter('style_loader_tag', 'x_style_loader_tag', 10, 3);
Без CSP (Политика безопасности контента). Отложение CSS с помощью style_loader_tag работает так: [code]function defer_css( $html, $handle ) { $handles = array( 'some_id' ); if ( in_array( $handle, $handles ) ) { $html = str_replace( 'media=\'all\'', 'media=\'print\' onload="this.onload=null;this.media=\'all\'"', $html ); } return $html; } add_filter( 'style_loader_tag', 'defer_css', 10, 2 ); < /code> Это, конечно, отвергается моим CSP. Чтобы избежать этого, я стараюсь внедрить ссылку со сценарием, который имеет атрибут Nonce (идентичный тому в заголовке): < /p> function x_style_loader_tag($html, $handle, $href) { $async_loading = array( 'some_id' ); if (in_array($handle, $async_loading)) { $nonce = apply_filters("TOA_PLUGIN/nonce_scriptx", NULL); $script = ''. //printing nonce to the console to see if it matches the csp header, which is true 'console.log(\''.$nonce.'\'); '. 'let s = document.createElement(\'link\'); '. //'s.id = "'.$handle.'"; '. 's.rel = "stylesheet"; '. 's.href = "'.$href.'"; '. 's.media = "print"; '. //the following line does not swap the media attribute to all 's.onload = "this.onload=null;this.media=\'all\'"; '. 'document.head.appendChild(s); '. ''; $html = $script; } return $html; } add_filter('style_loader_tag', 'x_style_loader_tag', 10, 3); [/code] Проверка проверки i get: [code] [/code] attribute media = "print" не был заменен на Media = "All" атрибутом onload в JavaScript. Атрибут Onload игнорируется AllTogether.[code] [/code] Как мне написать этот атрибут onload , чтобы сделать это?>
Я использую Webpack для создания расширения Chrome и пытаюсь импортировать файл CSS в виде строки, чтобы можно было внедрить его в теневой DOM. Однако когда я импортирую файл CSS, он импортируется как код JavaScript, а не содержимое CSS.
Содержимое...
Я использую Webpack для создания расширения Chrome и пытаюсь импортировать файл CSS в виде строки, чтобы можно было внедрить его в теневой DOM. Однако когда я импортирую файл CSS, он импортируется как код JavaScript, а не содержимое CSS.
Содержимое...
Я пытаюсь избежать ошибки CSP (политика безопасности контента) при отложении CSS с помощью сценария, который имеет атрибут Nonce.
Это моя попытка:
function x_style_loader_tag($html, $handle, $href) {
$async_loading = array(
'cookie_notice'
);
if(...
Я знаю, что об этом спрашивали бесчисленное количество раз, но я не могу найти решение своей проблемы.
Проблема: я не могу использовать nonce и Content-Security-Policy. генерируется ошибка.
Ошибка в console.log: отказ применить встроенный стиль,...
hiii everone,
Я хочу проверить состояние при загрузке TD -тег. Итак, я попытался проверить условие с помощью функции Onload. Ниже приведен пример, но код, который я пробовал внутри Onload , не работает, пожалуйста, кто -нибудь помогает мне выйти из...