Rendertron & <script>метки - PullRequest
       26

Rendertron & <script>метки

0 голосов
/ 12 сентября 2018

Я начал использовать Rendertron для приложения Angular 6.Я заметил, что он не отображает теги <script>.Знаете ли вы, как настроить его для этого?

Причина, по которой мне это нужно, заключается в разметке JSON-LD.

У меня для injectShadyDom также установлено значение true;по умолчанию это false.Я не знал, поможет ли это вообще, хотя это больше касается веб-компонентов.

1 Ответ

0 голосов
/ 12 сентября 2018

Да, это возможно при обновлении исходного кода.Есть функция stripPage (), которая удаляет все теги скрипта.Эта функция находится в строке 32 файла renderer.ts.С небольшим взломом я могу пропустить теги с type = "application / ld + json".Время его очистить, настроить и отправить запрос на извлечение!

Ориентировочная функция

function stripPage() {
  const elements = document.querySelectorAll('script, link[rel=import]');
  for (const e of Array.from(elements)) {
    e.remove();
  }
}

Измененная функция

    function stripPage() {
        const elements = document.querySelectorAll('script, link[rel=import]');
        for (const e of Array.from(elements)) {
            if (e.getAttribute('type') !== 'application/ld+json') {
                e.remove();
            }
        }
    }
...