Внедрение ссылки со Style_Loader_tag через javaScript (с nonce) не работает. (атрибут Onload не работает)Javascript

Форум по Javascript
Ответить Пред. темаСлед. тема
Anonymous
 Внедрение ссылки со Style_Loader_tag через javaScript (с nonce) не работает. (атрибут Onload не работает)

Сообщение Anonymous »

Без CSP (Политика безопасности контента). Отложение CSS с помощью style_loader_tag работает так:

Код: Выделить всё

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);
Проверка проверки i get: attribute media = "print" не был заменен на Media = "All" атрибутом onload в JavaScript. Атрибут Onload игнорируется AllTogether. Как мне написать этот атрибут onload , чтобы сделать это?>

Подробнее здесь: https://stackoverflow.com/questions/796 ... -working-o
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Webpack raw-loader/style-loader, импортирующий файл CSS в виде строки JavaScript вместо содержимого CSS
    Anonymous » » в форуме CSS
    0 Ответы
    52 Просмотры
    Последнее сообщение Anonymous
  • Webpack raw-loader/style-loader, импортирующий файл CSS в виде строки JavaScript вместо содержимого CSS
    Anonymous » » в форуме CSS
    0 Ответы
    48 Просмотры
    Последнее сообщение Anonymous
  • Атрибут javaScript Onload не работает при введении элемента ссылки в голову
    Anonymous » » в форуме Javascript
    0 Ответы
    3 Просмотры
    Последнее сообщение Anonymous
  • Динамический Nonce: ошибка при использовании динамического nonce в .htaccess Content-Security-Policy (CSP) и PHP.
    Anonymous » » в форуме Php
    0 Ответы
    38 Просмотры
    Последнее сообщение Anonymous
  • Как вызовать функцию Onload внутри таблицы TD Tag
    Anonymous » » в форуме Html
    0 Ответы
    4 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Javascript»