我想<script> ....</script>
在某个变量中收集 HTML 页面中存在的所有代码部分。
什么应该是更简单的方法,知道如何使用 JavaScript 检索它。?
任何帮助将不胜感激。
我想<script> ....</script>
在某个变量中收集 HTML 页面中存在的所有代码部分。
什么应该是更简单的方法,知道如何使用 JavaScript 检索它。?
任何帮助将不胜感激。
要获取您可以使用的脚本列表
document.getElementsByTagName("script");
按标签document.scripts;
内置集合document.querySelectorAll("script");
通过选择器$("script")
jQuery的选择器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>
最简单的方法可能是document.scripts
你会这样做:
var scripts = document.getElementsByTagName( 'script' );
现在scripts
是一个 NodeList(像一个数组),您可以使用 访问每个节点列表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);
}
})();