How to collect all script tags of HTML page in a variable

I would like to collect all the <script> ....</script> code section present in the HTML page in some variable.

What should be the simpler way to do this, Any idea how it can be retrieved using JavaScript.??

Any help will be greatly appreciated.

Answers:

Answer

To get a list of scripts you can use

  • 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>

Answer

The simplest way is probably document.scripts

Answer

You would do:

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

Now scripts is a NodeList (like an array), and you can access each one using scripts[0], scripts[1] and so on.

Answer

try this

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

Without jQuery :

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

With jQuery :

var scripts = $("script");
Answer

Here you go --

(function () { 
        'use strict';
        let logscript = function () {
            let js = document.scripts;
            for (let i = 0; i < js.length; i++) {
                if (js[i].src) {
                        console.log(i, js[i].src);
                    } else {
                        console.log(i, js[i].innerHTML);
                }   
            }
        };
        if (document.readyState === 'complete') {
                logscript();
        } else {
                window.addEventListener('load', logscript);
        }
})();

Tags

Recent Questions

Top Questions

Home Tags Terms of Service Privacy Policy DMCA Contact Us

©2020 All rights reserved.