Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 30.11.2018, 11:24
Аватар для madeas
Профессор
Отправить личное сообщение для madeas Посмотреть профиль Найти все сообщения от madeas
 
Регистрация: 13.04.2018
Сообщений: 232

Почему может не работать скрипт?
Всем привет, сайт на ВП.
Как убрать по-умолчанию не знаю, поэтому хочу удалить атрибуты 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>
Ответить с цитированием
  #2 (permalink)  
Старый 30.11.2018, 11:43
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

Сообщение от madeas
linkRel.forEach
в ie не работает.
Ответить с цитированием
  #3 (permalink)  
Старый 30.11.2018, 11:44
Аватар для madeas
Профессор
Отправить личное сообщение для madeas Посмотреть профиль Найти все сообщения от madeas
 
Регистрация: 13.04.2018
Сообщений: 232

у меня убунту - хромиум, все равно не показывает
Ответить с цитированием
  #4 (permalink)  
Старый 30.11.2018, 11:50
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

madeas,
а консоль что пишет? может load обернуть скрипт? или сделать проверку есть атрибут, только тогда его удалять.
Ответить с цитированием
  #5 (permalink)  
Старый 30.11.2018, 12:37
Аватар для madeas
Профессор
Отправить личное сообщение для madeas Посмотреть профиль Найти все сообщения от madeas
 
Регистрация: 13.04.2018
Сообщений: 232

Ничего не пишет, проверка норм, но хз что не так.

Пришлось использовать 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 );
}
Ответить с цитированием
  #6 (permalink)  
Старый 30.11.2018, 12:46
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,720

madeas, я бы на вашем месте не response обрабатывал, а посмотрел на функцию, которая скрипты регистрирует.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Скрипт отказывается работать в последней версии jQuery Fedul jQuery 12 04.04.2016 16:27
Помогите разобраться почему не работает скрипт корректно Batyabest AJAX и COMET 1 09.07.2015 05:08
Почему может не работать mouseover после метода post/get vuler Общие вопросы Javascript 1 22.02.2012 13:28
Имеется скрипт калькулятора - не пойму почему не работает tishkovav AJAX и COMET 4 15.02.2012 15:21
Почему не работает скрипт, подскажите aviaks Ваши сайты и скрипты 2 05.05.2009 14:38