2015-01-02 7 views
0

Я пытаюсь включить gmail.js из here. Но объект gmsrc недействителен, функция get.user_email() не работает. Я пытаюсь разработать расширение, Chrome, инструменты разработчика Chrome (F12) говорит мнеВключая gmail.js

Uncaught TypeError: Cannot read property 'user_email' of undefined

Вот мой код:

var jq = document.createElement('script'); 
jq.src = "https://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"; 
document.getElementsByTagName('body')[0].appendChild(jq); 
var gmsrc = document.createElement('script'); 
gmsrc.src = "https://rawgit.com/KartikTalwar/gmail.js/master/src/gmail.js"; 
document.getElementsByTagName('body')[0].appendChild(gmsrc); 
console.log("Scripts loaded, Start playing ..."); 
var name = gmsrc.get.user_email(); 
alert(name); 

Где моя ошибка?

Update (до сих пор не работает):

Я попытался это, но он не работает либо:

var jq = document.createElement('script'); 
    jq.src = chrome.extension.getURL("lib/jquery-2.1.1.min.js"); 
    document.body.appendChild(jq) 

    //inject gmail.js 
    var gmsrc= document.createElement('script'); 
    gmsrc.src = chrome.extension.getURL("lib/gmail.js"); 
    document.body.appendChild(gmsrc); 

    var name = gmsrc.get.user_email(); 
    alert(name); 
+0

Таким образом, это код сценария содержание, правильно? – Xan

+0

да, я ссылаюсь на этот файл в своем манифесте в разделе «content_scripts» – superstar

+0

Привет. Я столкнулся с той же проблемой. Я хочу Gmail() в content.js Вы нашли какое-либо решение? –

ответ

-1

Глядя на ваш код, переменная gmsrc является ссылкой на элемент сценария, созданного с источником gmail.js не является логика сценария Gmail, поэтому вы получаете эту ошибку.

Правильный способ использовать API, чтобы сделать включают (как вы это делали), и после того, как сделать некоторые, как:

var gmail = Gmail(); 
var name = gmail.get.user_email(); 
// Returns the user e-mail here; 
+0

спасибо, но тогда ошибка «Uncaught ReferenceError: Gmail не определен» – superstar

+0

Gmail будет доступен только в глобальной области после завершения процесса загрузки gmsrc. Чтобы избежать таких ошибок, используйте прослушиватель 'load'. «Onload» - это событие, которое запускает javascript, когда объект, который вы включаете, завершил процесс загрузки. Выполните следующие действия: 'gmsrc.onload = function() {// logic here}'. –

+0

спасибо, не могли бы вы показать мне полный пример? – superstar