1

Я использую JQuery для изменения панели навигации Google (черный).jquery selector не работает в Gmail

Этот селектор работает на google.com и некоторых других сайтах Google, как Google Plus (plus.google.com):

$("#gbzc").find("li.gbt") 

(это выбирает элементы Li в панели инструментов)

Но для по какой-то причине, внутри gmail этот селектор не работает. Структура страницы выглядит точно так же на gmail.com и на других сайтах google, но этот селектор ничего не возвращает при запуске в gmail.

Любые идеи?

+0

Нет ошибок? Может быть, конфликт с другими js-системами? Вы пытались jQuery («селектор»)? –

ответ

4

Содержимое (включая панель инструментов) Gmail, в отличие от других google-страниц, загружается внутри iframe.

Так что, когда вы используете этот код из верхнего документа вы должны передать IFrame-документ в качестве контекста (2-й аргумент для $())

+0

Да, вы правы, в Gmail это в iframe. Я закончил использовать это, если пользователь находится в Gmail: $ ("# canvas_frame"). Contents(). Find ("# gbzc"); благодаря – Guy

1

Это правда, что это из-за фрейм.

Вот работа, если вы согласны использовать чистый javascript. Вы можете использовать функцию javascript document.querySelectorAll(), и она сможет выбрать все, что вам нужно.

Он отлично работает в gmail. Даже document.getElementsByClassName() не работает.

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