Ism*_*ilp 5 javascript jquery google-chrome google-chrome-extension twilio
我是一个想要制作Chrome扩展程序的新手,它使用Twilio Client API和Node.js后端来从浏览器拨打电话.
我从扩展程序中运行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"
}
}
Run Code Online (Sandbox Code Playgroud)
这是我的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);
}
Run Code Online (Sandbox Code Playgroud)
有关如何使用Twilio Client API的任何建议?
谢谢!
Twilio 脚本预计从 Twilio 服务器加载。它依靠它来找到库的其余部分。为了让它快乐,你可以尝试以下方法:
background删除清单的当前部分并将其替换为以下行:
"content_security_policy": "script-src 'self' https://static.twilio.com; object-src 'self'",
"background": { "page": "background.html" },
Run Code Online (Sandbox Code Playgroud)
并向您的扩展添加一个名为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>
Run Code Online (Sandbox Code Playgroud)
更新
这将失败,因为加载程序尝试使用以 开头的 URL //,这在 Chrome 扩展页面中无法按预期工作。所以更简单的解决方法是:
lib/twilio.js为以下内容http://static.twilio.com/libs/twiliojs/refs/7ed9035/twilio.min.js| 归档时间: |
|
| 查看次数: |
870 次 |
| 最近记录: |