Без достаточного количества представителей, чтобы прокомментировать ответ @Khurram Hassan, я выложу его здесь вместе со своим ответом на оригинальный вопрос.
Во-первых, оригинальный вопрос. Мое решение будет (и находится в моем собственном коде, в ожидании ответа на проблему с ним, которую я поставил на этом сайте) document.getElementsByTagName ("*"), которая фактически получает каждый элемент в Chrome. Я протестировал его на google.com в Google Chrome с загруженным профилем и восемью наиболее часто посещаемыми сайтами в списке, и получилось 356 отдельных элементов с именем тега. Справедливости ради, это включало html, head, body и другие, которые, вероятно, бесполезны, но все же получили их. В настоящий момент у меня нет доступа к Opera, но поскольку Chrome все еще принимает этот фрагмент JavaScript, я не вижу причины, по которой он не принял бы это в вашем коде.
Во-вторых, для @Khurram hassan document.getElementById()
не может использоваться в этом случае. Я только что проверил его на Chrome, и он получил значение null. Теоретически, в этом случае может быть использовано что-либо с общей формой getElementsBy*
, а не getElementBy*
. Итак, чтобы добавить к моему более раннему ответу, вы также можете попробовать ClassName
, Name
и TagNameNS
в зависимости от того, что вы пытаетесь сделать. На той же странице, что и раньше, я тестировал эти три, и хотя работал только TagNameNS
, остальные просто возвращали пустые списки, а не ошибки.
Далее, если это правда, что вам не нужен <!DOCTYPE html>
в вашем коде, возможно, вы могли бы опубликовать рабочий код в качестве редактирования своего ответа, чтобы мы могли его увидеть. Насколько мне известно, <!DOCTYPE html>
является общепринятым (и обычно предполагаемым обязательным) способом запуска HTML-страницы. Если в этом нет необходимости, то это будет новая информация (по крайней мере, для меня), которая может оказаться полезной либо для отладки, либо для непубличных веб-страниц в будущем.