5

Я новичок, пытающийся сделать расширение Chrome, которое использует Twilio Client API и конец Node.js для выполнения исходящих вызовов из браузера.Расширение Google Chrome и Twilio Client API

У меня возникли проблемы с запуском Twilio из моего расширения, я получаю "Twilio is not defined".

Вот мой файл манифеста:

{ 
    "name": "<NAME>", 
    "version": "0.0.1", 
    "manifest_version": 2, 
    "permissions": [ 
    "contextMenus", 
    "http://localhost:3000/", 
    "http://*.twilio.com/*", 
    "https://*.twilio.com/*" 
    ], 
    "background": { 
    "scripts": ["lib/jquery-1.7.2.min.js","lib/twilio.js","background.js"] 
    }, 
    "content_scripts": [ 
    { 
     "matches": ["http://*/*", "https://*/*", "file:///*/*"], 
     "css": ["css/styles.css"], 
     "js": ["lib/jquery-1.7.2.min.js"] 
    } 
    ], 
    "icons":{ 
    "128":"icon_128.png" 
    } 
} 

и вот мой background.js:

console.log('Init background.js...'); 

function callNumber(info, tab) { 
    alert(info.selectionText); 
} 

chrome.contextMenus.create ({ 
    "title":"%s", 
    "contexts": ["all"], 
    "onclick": callNumber 
}); 

// get capability token 
$(function() { 
    $.get('http://localhost:3000/token', function(resp){ 
     initTwilio(resp); 
    }); 
}); 

function initTwilio(token) { 
    // init twilio 
    Twilio.Device.setup(token); 
} 

Любые предложения о том, как я могу использовать Client API Twilio?

Спасибо!

+0

Что 'twilio.js' файл вы в том числе на вашем расширение? – rsanchez

+0

Включая этот: http://static.twilio.com/libs/twiliojs/1.1/twilio.min.js – Ismailp

+0

@rsanchez любые идеи по этому поводу? – Ismailp

ответ

2

Сценарий Twilio ожидает загрузки с сервера Twilio. Он полагается на это, чтобы найти остальную библиотеку. Для того, чтобы сделать его счастливым, вы можете попробовать следующее:

Капля ток background часть манифесте и заменить его с этими линиями:

"content_security_policy": "script-src 'self' https://static.twilio.com; object-src 'self'", 
"background": { "page": "background.html" }, 

И добавить к вашему расширению файл с именем background.html следующего содержания:

<script src="lib/jquery-1.7.2.min.js"><script> 
<script src="https://static.twilio.com/libs/twiliojs/1.1/twilio.min.js"><script> 
<script src="background.js"><script> 

UPDATE

Это не удастся, потому что загрузчик пытается использовать URL-адрес, начинающийся с //, который не будет работать должным образом на странице расширения Chrome. Так проще исправить это:

  1. Вернитесь к исходной настройке
  2. Заменить файл lib/twilio.js с содержанием http://static.twilio.com/libs/twiliojs/refs/7ed9035/twilio.min.js
+0

Я получаю это в консоли: не могу GET chrome-extension: //static.twilio.com/libs/twiliojs/refs/7ed9035/twilio.min.js. Почему это? – Ismailp

+0

Мне нужно это быть http (s): // – Ismailp

+0

@Ismailp ответ обновлен – rsanchez

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