Просмотрите Сгенерированный Источник (После AJAX/JavaScript) в C#

window.onload = function(){}; работы, но как Вы, возможно, заметили, , это позволяет Вам указывать только 1 слушателя .

я сказал бы, что лучший/более новый способ сделать это будет состоять в том, чтобы использовать платформу, или к только для использования простой реализации собственного компонента addEventListener и attachEvent (для IE) методы, который позволяет, Вы к удаляете слушатели для событий также.

Вот реализация перекрестного браузера:

// Cross-browser implementation of element.addEventListener()
function listen(evnt, elem, func) {
    if (elem.addEventListener)  // W3C DOM
        elem.addEventListener(evnt,func,false);
    else if (elem.attachEvent) { // IE DOM
         var r = elem.attachEvent("on"+evnt, func);
         return r;
    }
    else window.alert('I\'m sorry Dave, I\'m afraid I can\'t do that.');
}

// Use: listen("event name", elem, func);

Для window.onload использования случая: listen("load", window, function() { });

<час>

РЕДАКТИРОВАНИЕ я хотел бы развернуть свой ответ путем добавления драгоценной информации, на которую указали другие.

Это о DOMContentLoaded (Mozilla, Opera и WebKit nightlies в настоящее время поддерживают это), и onreadystatechange (для IE) события , который может быть применен к объект документа понять, когда документ доступен, чтобы управляться (не ожидая всех изображений/таблиц стилей и т.д. быть загруженным).

существует много "hacky" реализаций для поддержки перекрестных браузеров этого, таким образом, я настоятельно рекомендую использовать платформу для этой функции.

26
задан Kelly S. French 18 September 2013 в 22:36
поделиться

2 ответа

возможно, он использует экземпляр браузера (в вашем случае: элемент управления ie). вы можете легко использовать в своем приложении и открыть страницу. затем элемент управления загрузит его и обработает любой javascript. как только это будет сделано, вы сможете получить доступ к объекту управления dom и получить "интерпретируемый" код.

4
ответ дан 28 November 2019 в 17:30
поделиться

Теоретически да, но в настоящее время нет

Я не думаю, что в настоящее время существует продукт или проект OSS, который это делает. Такой продукт должен иметь собственный интерпретатор javascript и уметь точно имитировать среду выполнения и особенности каждого поддерживаемого браузера.

Учитывая, что вам нужно что-то, что точно имитирует среду сервер + браузер, чтобы создавать окончательный код страницы, в конечном итоге, я думаю, что использование экземпляра браузера - лучший способ точно сгенерировать страницу в ее конечном состоянии. Это особенно верно, если учесть, что после завершения загрузки страницы источники страницы все еще могут со временем изменяться в браузере с AJAX / javascript.

1
ответ дан 28 November 2019 в 17:30
поделиться
Другие вопросы по тегам:

Похожие вопросы: