2015-08-10 4 views
0

Я понимаю, что javascript является синхронным.Как получить дерево объектов узла в браузере

Но как дерево объектов Node получить построено это делается в браузере, где браузер производит объект именуемой узла и весь его свойство как для CSS двигателя рисовать, а JavaScript двигатель к поперечному html dom. Или Страница при загрузке загружается в механизм javascript, а javascript анализирует ее, чтобы получить дерево узлов в глобальном контексте выполнения? Например

Function(fetched_page) -> Node tree constructor 
+0

Эта деталь реализации и различные браузеры могут принимать разные подходы. Это также не очень хороший вопрос для SO, см. [Тур] (http://stackoverflow.com/tour): сосредоточьтесь на вопросах о реальной проблеме, с которой вы столкнулись. – Quentin

+0

@Quentin, но ни один здравомыслящий браузер не использовал бы JS-код для построения всего дерева DOM – Alnitak

+0

@Alnitak это то, что мне кажется, проверяя, что HTMLULISTElement в моей консоли браузера возвращает функцию() –

ответ

1

Вообще браузер будет использовать машинный код для разбора содержимого HTML страницы, как это загрузка.

Любые скрипты, содержащиеся на странице, выполняются как обнаруженные (если только они не загружены с тегом <script> с атрибутами defer и/или async). Вот почему вы не можете ссылаться на элемент, определенный в <body> на странице из сценария, найденного в <head>, если вы не ожидаете события "onload" или подобного - эти элементы еще не существуют.

Функции, связанные с DOM, которые доступны в интерпретаторе JavaScript браузера, как правило, просто связаны с одними и теми же встроенными функциями кода, которые используются в самом браузере.

+0

Хорошо, это звучит так ... «Захватывает собственный код браузера» –

Смежные вопросы