Вопрос по html-parsing, html, javascript – Как собрать все теги скрипта HTML-страницы в переменную

5

Я хотел бы собрать все<script> ....</script> Раздел кода присутствует на странице HTML в некоторой переменной.

Какой должен быть более простой способ сделать это, есть идеи, как его можно получить с помощью JavaScript. ??

Любая помощь будет оценена.

Какую проблему ты пытаешься решить? Simeon Visser
Ты имеешь в видуusing a JavaScript scriptне так ли? sp00m
Возможный дубликатstackoverflow.com/questions/3160609/… Anand

Ваш Ответ

5   ответов
1

попробуй это

var scripts = document.getElementsByTagName("script");
Опечатка или орфографическая ошибка. Это getElements, а не getElement, но в других местах на этой странице также дан подробный ответ :)
Не возвращаетArray
спасибо за указание на исправление
0

Без jQuery:

var scripts = document.getElementsByTagName("script");

С помощью jQuery:

var scripts = $("script");
26

Чтобы получить список скриптов, вы можете использовать

document.getElementsByTagName("script"); by tag document.scripts; Built-in collection document.querySelectorAll("script"); by selector $("script") jQuery by selector

var scripts = document.getElementsByTagName("script");
for (var i = 0; i < scripts.length; i++) {
  if (scripts[i].src) console.log(i, scripts[i].src)
  else console.log(i, scripts[i].innerHTML)
}

// To get the content of the external script 
// - I use jQuery here - only works if CORS is allowing it

// find the first script from google 
var url = $("script[src*='googleapis']")[0].src; 

$.get(url,function(data) { // get the source 
  console.log(data.split("|")[0]); // show version info
});  
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<script>
  console.log("Inline script");
</script>
<script>
  function bla() {
    console.log("Other inline script");
  }
</script>

7

Самый простой способ, вероятно,document.scripts

1

Вы бы сделали:

var scripts = document.getElementsByTagName( 'script' );

Сейчасscripts является NodeList (как массив), и вы можете получить доступ к каждому, используяscripts[0], scripts[1] и так далее.

Похожие вопросы