<script> ....</script>
HTMLページにあるすべてのコードセクションをいくつかの変数に収集したいと思います。
これを行うためのより簡単な方法は何でしょうか。JavaScriptを使用してどのように取得できるか考えてみてください。
どんな助けでも大歓迎です。
<script> ....</script>
HTMLページにあるすべてのコードセクションをいくつかの変数に収集したいと思います。
これを行うためのより簡単な方法は何でしょうか。JavaScriptを使用してどのように取得できるか考えてみてください。
どんな助けでも大歓迎です。
使用できるスクリプトのリストを取得するには
document.getElementsByTagName("script");
タグでdocument.scripts;
ビルトインコレクションdocument.querySelectorAll("script");
セレクターによる$("script")
セレクターによるjQueryvar 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>
最も簡単な方法はおそらくdocument.scripts
あなたはするでしょう:
var scripts = document.getElementsByTagName( 'script' );
これでNodeList(配列のような)になり、scripts
などを使用してそれぞれにアクセスできます。scripts[0]
scripts[1]
これを試して
var scripts = document.getElementsByTagName("script");
jQueryなし:
var scripts = document.getElementsByTagName("script");
jQueryを使用する場合:
var scripts = $("script");
どうぞ -
(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);
}
})();