Как отметил @FelixKling, наиболее вероятным сценарием является то, что узлы, которые вы ищете, еще не существуют.
Однако современные методы разработки часто могут манипулировать элементами документа за пределами дерева документов либо с DocumentFragments, либо просто отсоединением / повторным подключением текущих элементов напрямую. Такие методы могут использоваться как часть шаблонов JavaScript или для предотвращения чрезмерных операций перерисовки / переплавки, в то время как элементы, о которых идет речь, сильно изменяются.
Аналогично, новая функциональность «Теневой DOM» развертывается в современных браузерах позволяет элементам быть частью документа, но не обрабатываться запросом document.getElementById и всеми его методами sibling (querySelector и т. д.). Это делается для инкапсуляции функциональных возможностей и, в частности, скрыть его.
Опять же, скорее всего, элемент, который вы ищете, просто (пока) в документе, и вы должны сделать, как предлагает Феликс , Тем не менее, вы также должны знать, что это все чаще является не единственной причиной того, что элемент может быть необоснованным (временно или постоянно).
Это - вероятно, потрясающая "ошибка" firefox3 fsync, которая является гигантской грудой сбоя.
Таким образом,
Так, мой вопрос, там способ иметь некоторый проводник процесса или вид диспетчера задач вещи для Firefox 3?
Из-за пути создается Firefox, это не возможно в данный момент. Но новая бета 2 Internet Explorer 8 и справедливый браузер Google Chrome, о котором объявляют, идут в том направлении, таким образом, я предполагаю, что Firefox будет направляться туда также.
Вот сообщение (Диспетчер процессов Google Chrome) John Resig от Mozilla и известности jQuery на предмете.
Нет никакого "вида" проводника процесса инструмента для Firefox; но существует http://developer.mozilla.org/en/docs/Venkman с профильным режимом, который Вы могли использовать для наблюдения времени, проведенного хромом (значение недовольного, который не является веб-страницей), сценарии.
Из того, что я читал об этом, DTrace мог бы также быть полезен для этого вида вещи, но это требует создания сделанного на заказ и возможно добавляющих дополнительных датчиков к источнику. Я еще не играл с ним сам.
Существует полное обсуждение этого, которое объясняет, что все fsync связали проблемы, которые влияли на пред3.0 версии И следующие В целом, я не видел поведения с тех пор также, и действительно это не должна быть проблема вообще, если Ваша система также не делает интенсивных задач IO. Firebug/Venkman делают для хороших отладчиков, но они были бы болезненными для выяснения этих видов проблем для чужого кода, IMO.
Мне также жаль, что не было простого способа посмотреть на загрузку ЦП в Firefox вкладкой, тем не менее, поскольку я часто оказываюсь с FF, съедая 100% ЦП, но никакая подсказка, какая часть вызывает проблему.
XUL Profiler - отличное расширение, которое может указывать на расширения и JS на стороне клиента, которые перестали работать с CPU. Он работает не для каждой вкладки, а для каждого сценария (или около того). Обычно вы можете вручную связать эти .js-скрипты со своими вкладками или расширениями.
Также стоит упомянуть, что Google Chrome имеет встроенный действительно хороший диспетчер задач, который показывает использование памяти и ЦП для каждой вкладки, расширения и плагина.
[XUL Profiler] - это профилировщик Javascript. Он показывает затраченное время для каждого метода в виде графика , а также перерисовывает зоны холста браузера, чтобы помочь отследить потребление фрагментов кода ЦП.
Отслеживает все вызовы JS и события рисования в контексте XUL и страниц. Создает анимацию , динамически отображающую перерисовываемые зоны холста .
Начиная с версии FF 3.6.10 он устарел, так как больше не помечен как совместимый. Но он по-прежнему работает, и вы можете преодолеть несовместимость с не менее замечательным расширением MR Tech Toolkit .