Показать сообщение отдельно
  #28 (permalink)  
Старый 13.01.2020, 21:49
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

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 = '<html><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(){'+
'        var text2 = "test message here\\n\\n11\\n2\\n3";'+
'        TEST = text2, window.onbeforeunload = function(a) {'+
'            var c = TEST;'+
'            return a.returnValue = c;'+
'        }, window.onload = function() {'+
'            if (confirm(TEST)) {'+
'                alert("its okay");'+
'            } else {'+
'                alert("cancelled");'+
'            }'+
'        };'+
'    });'+
'    window.addEventListener("load", function (){ '+
'        alert ("onload 222");'+
'    });'+
'    $(document).ready(function(){ '+
'        alert(jQuery.fn.jquery);  '+
'    });'+
'<\/script> '+
'<script>alert("Hello 2")<\/sc'+'ript>'+
'<div>the 7 tag</div><div>the 8 tag</div><div>the 9 tag</div></body></html>';
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>
Ответить с цитированием