Как узнать, какая функция JavaScript вызывается при нажатии на что-то на странице? - PullRequest
2 голосов
/ 28 августа 2010

Я пытаюсь деконструировать часть Gmail и не могу найти, что происходит (какие функции вызываются) при нажатии определенной кнопки.

Я использовал инспектор Google Chrome и нашел HTML-код для кнопки:

<tbody id=":8y" class="vC " idlink="" role="option" aria-labelledby=":8x :8w"><tr class="vI"><td><img class="vt SFzvCe IRnhDe BUw1sf" id=":8x" src="images/cleardot.gif" alt="Call phone"></td><td id=":8v" class="vr" colspan="2"><span id=":8w" class="HHshnc ">Call phone</span></td></tr></tbody>

В разделе «Прослушиватели событий» инспектора в разделе «нажмите» я получил эту информацию:

isAttribute: false
lineNumber: 213
listenerBody: function B(H){return g.call(B.src,B.key,H)}
node: tbody#:8y
sourceName: https://mail.google.com/mail/u/0/?ui=2&view=js&name=main,tlist&ver=q0qiADndhKA.en.&am=!k3sV9...
type: click
useCapture: true

но это не помогает мне понять, что называется onClick.

Я пытаюсь создать скрипт Greasemonkey, который добавит эту кнопку в Gmail, когда ее нет на странице.

ТИА!

1 Ответ

1 голос
/ 29 августа 2010
function B(H){return g.call(B.src,B.key,H)}

, очевидно, является только функцией-оболочкой, которая вызывает g. Function.call

[c] обозначает функцию с заданным значением this и аргументами, предоставляемыми индивидуально.

Как вы можете прочитать на связанной странице MDC, первый аргумент - это объект this внутри g, в данном случае B.src. Второй и третий параметры передаются в качестве параметров g.

Итак, вам нужно искать функцию с именем g. toString метод может быть полезным.

Тем не менее, учитывая цель, которую вы пытаетесь достичь («создать скрипт Greasemonkey, который добавит эту кнопку в Gmail, когда ее нет на странице»), я думаю, что это не стоит вашего времени. Если кнопка не существует, я подозреваю, что она не существует по какой-либо причине (например, g недоступно на этой странице или какой-либо другой серверной функции).

...