#javascript #dom #xpath #google-chrome-extension #hotmail
#javascript #dom #xpath #google-chrome-расширение #hotmail
Вопрос:
Я пытаюсь создать расширение Google Chrome, которое будет вставлять некоторую контекстную информацию для пользователя под каждым сообщением электронной почты. Я в основном пытаюсь создать что-то похожее на контекстный гаджет gmail, но для hotmail. Я планирую добиться этого, извлекая и вводя HTML на страницу с помощью расширения Chrome.
Однако у меня возникают проблемы с доступом к DOM-узлам тела сообщения с помощью javascript. Это потому, что они используют фреймы iframes? Если да, то как мне это сделать?
Комментарии:
1. Похоже, они не используют iframes. Однако при использовании элемента Inspect кажется, что элемент body представляет собой a
div
с идентификаторомmp0_msgPartBody
. Я думаю, что может быть довольно просто получить содержимое этого div, если вы знаете идентификатор.2. На самом деле они действительно используют iframe. У него есть идентификатор «AppFrame», если вы его ищете. И я считаю, что это проблема. Div с этим идентификатором находится внутри этого iframe, поэтому я не могу получить доступ к нему из родительского документа. Запуск этого в консоли возвращает null: document.getElementById(«mp0_msgPartBody»)
3. Этот iframe не используется для меня. Наверное, я больше ничем не могу помочь, но я бы посоветовал поддерживать разные случаи — по-видимому, это не iframe для всех.
Ответ №1:
Вы могли бы попробовать xpath для чтения div?
Комментарии:
1. Я пытался, но это мне не позволяет. Основное содержимое страницы находится в iframe, и, похоже, я не могу получить доступ к чему-либо внутри него с помощью XPath.
2. Если вы измените URL-адрес, он даст вам: co103w.col103.mail.live.com/default.aspx #!/mail/… извлеките default.aspx#!/ бит, который, похоже, не находится во фрейме. Любая помощь?