Почему может не работать скрипт?
Всем привет, сайт на ВП.
Как убрать по-умолчанию не знаю, поэтому хочу удалить атрибуты type='text/css' media='all' и type='text/javascript' из всех ссылок через js. Они в принципе не мешают, но и разницы в их наличии/отсутствии нет. Хотя валидатор ругается :) Подскажите, почему скрипт может не работать? В песочнице все работает.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<link rel='stylesheet' href='https://fonts.googleapis.com/css?family=Comfortaa' type='text/css' media='all' />
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Chakra+Petch" type='text/css' />
</head>
<body>
<script>
const linkRel = document.querySelectorAll("[rel='stylesheet']");
linkRel.forEach(function(linkRel) {
linkRel.removeAttribute('type');
linkRel.removeAttribute('media');
});
</script>
<style>
.container {
width: 100vw;
height: 100vh;
background-color: #333;
}
</style>
<div class="container"></div>
</body>
</html>
|
Цитата:
|
у меня убунту - хромиум, все равно не показывает
|
madeas,
а консоль что пишет? может load обернуть скрипт? или сделать проверку есть атрибут, только тогда его удалять. |
Ничего не пишет, проверка норм, но хз что не так.
Пришлось использовать php, оставлю тут, может кому пригодится.
add_filter('style_loader_tag', 'codeless_remove_type_attr', 10, 2);
add_filter('script_loader_tag', 'codeless_remove_type_attr', 10, 2);
function codeless_remove_type_attr($tag, $handle) {
return preg_replace( "/type=['\"]text\/(javascript|css)['\"]/", '', $tag );
}
|
madeas, я бы на вашем месте не response обрабатывал, а посмотрел на функцию, которая скрипты регистрирует.
|
| Часовой пояс GMT +3, время: 22:32. |