Вы можете попробовать что-то вроде:
function getScriptsAsText() {
var div = document.createElement('div');
var scripts = [];
var scriptNodes = document.getElementsByTagName('script');
for (var i=0, iLen=scriptNodes.length; i<iLen; i++) {
div.appendChild(scriptNodes[i].cloneNode(true));
scripts.push(div.innerHTML);
div.removeChild(div.firstChild);
}
return scripts;
}
Возвращает массив текущих элементов скрипта в виде текста, включая их начальный и конечный теги.
Вы также можете попробовать externalHTML, но он не так широко поддерживается.