Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #31 (permalink)  
Старый 16.01.2020, 23:29
Интересующийся
Отправить личное сообщение для Domik942 Посмотреть профиль Найти все сообщения от Domik942
 
Регистрация: 29.12.2019
Сообщений: 19

Сообщение от рони Посмотреть сообщение
обработка события ставится позднее чем само событие, всё загружено уже, события onload не будет.
вам дали ссылку на решение
Я только сейчас обратил внимание что на IE 11 не работает. Можно вас попросить подправить код чтобы на 11й версии IE тоже корректно работало ?

<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>\n' +
        'alert("Hello IE ?");' +
        '<\/script>'+
        '<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>
Ответить с цитированием
  #32 (permalink)  
Старый 17.01.2020, 00:12
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

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>\n' +
        'alert("Hello IE ?");' +
        '<\/script>'+
        '<div>the 7 tag</div><div>the 8 tag</div><div>the 9 tag</div></body></html>';
    var htmlNew = document.createElement('html');
    htmlNew.innerHTML = testHtml;
    var htmlOld = document.querySelector('html');
    document.replaceChild(htmlNew, htmlOld);
    var scripts = document.querySelectorAll('script');
    var len = scripts.length;
    var n = 0;
    (function loadScripts()
    {  if(n < len) {
       var el = scripts[n++];
       var s = document.createElement('script');
       if (el.text) {
                s.text = el.text;
                loadScripts();
            } else {
                s.onload = loadScripts;
                s.src = el.src;
            }
            el.parentNode.replaceChild(s, el);
    }
    })()
</script>
<div>the 4 tag</div>
<div>the 5 tag</div>
<div>the 6 tag</div>
</body>
</html>
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Анализ и обработка js m4gz Общие вопросы Javascript 4 27.10.2011 12:10
JS внутри AJAX pagal AJAX и COMET 8 11.10.2011 11:19
Как получит ссылку на элемент внутри которого запустили JS код? aRpi Events/DOM/Window 20 02.10.2011 13:36
JS to innerHTML helgi AJAX и COMET 4 07.12.2008 20:50
Обработка JS в FireFox Andrey_Ugnich Firefox/Mozilla 7 21.06.2008 17:15