Domik942,
<html>
<head>
<meta http-equiv=content-type content="text/html;charset=UTF-8" />
<title>test js page</title>
</head>
<body>
<div>the 1 tag</div>
<div>the 2 tag</div>
<div>the 3 tag</div>
<script>var testHtml = '<head><title>second page</title></head><body><p>test script</p>' +
'<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"><\/script>' +
'<script>alert("Hello 1");' +
'$(function(){\n' +
' window.addEventListener("load", function (){\n' +
' alert ("onload 111");\n' +
' });\n' +
'});'+
'window.addEventListener("load", function (){\n' +
' alert ("onload 222");\n' +
' });'+
'$(document).ready(function(){\n' +
' alert(jQuery.fn.jquery);\n' +
'});</scr' + 'ipt>' +
'<script>alert("Hello 2")<\/script>'+
'<div>the 7 tag</div><div>the 8 tag</div><div>the 9 tag</div></body>';
var parser = new DOMParser();
var doc = parser.parseFromString(testHtml, 'text/html');
var htmlOld = document.querySelector('html');
var htmlNew = doc.querySelector('html');
document.replaceChild(htmlNew, htmlOld);
[...document.querySelectorAll('script')].reduce((promise, el) => {
return promise.then(() => new Promise((resolve, reject) => {
var s = document.createElement('script');
if (el.text) {
s.text = el.text;
resolve();
} else {
s.onload = resolve;
s.src = el.src;
}
el.parentNode.replaceChild(s, el);
}))
}, Promise.resolve());
</script>
<div>the 4 tag</div>
<div>the 5 tag</div>
<div>the 6 tag</div>
</body>
</html>