2016-07-27 5 views
0

Я пытаюсь использовать этот gmail JS tutorial, чтобы добавить возможность отправки электронной почты на веб-страницу с помощью tampermonkey. Я добавил часть скрипта непосредственно к моему сценарию tampermonkey и динамически вставил DIV с HTML через. JavaScript.Tampermonkey vs. gmail JS API

Это действительно работает, если я вручную покажу кнопку, (и API возвращает список меток), но кажется, что функция обратного вызова (checkAuth) не вызывается при загрузке страницы. Когда я вставляю скрипт google, checkAuth не запускается (вставили console.log для подтверждения). Должна ли часть java-скрипта в этом учебнике находиться в обычном элементе скрипта в DOM или я должен упорствовать?

Я понимаю, что у моего скрипта TM есть своя область видимости, но не уверен, как добавить весь код Google в глобальную область, если это то, что нужно сделать? Если я установлю скрипт на моем собственном сервере, это вызовет проблемы?

Я подозреваю, что скрипт для добавления api не может видеть свою функцию обратного вызова, так как я определил это в рамках сценария tm.

ответ

0

Я думаю, что нашел общее решение, добавьте небольшой скрипт, который определяет глобальный заполнитель для функции обратного вызова.

Затем в области сценария ТМ используется синтаксис выражения функции для любой функции, которая должна находиться в глобальной области видимости.

var placeholder; 
function TM() { 
    placeHolder = function() { 
     //API callback 
    } 
} 
Смежные вопросы