如何传递一个保存的Javascript变量在Chrome扩展到谷歌应用引擎应用程序
How to pass a saved Javascript variable in a Chrome extension to a Google App Engine App?
我有一个简单的书签应用程序,我正在开发学习谷歌应用程序引擎。此时,我将url复制并粘贴到http://ting-1.appspot.com/submit中,该http://ting-1.appspot.com/submit有一个带有url字段的表单。因为这是繁琐的我想添加一个chrome扩展。我只是改变了hello world的例子,所以现在我用下面的代码获得了标签页的url(如下所示):
<script>
window.addEventListener("load", windowLoaded, false);
function windowLoaded() {
chrome.tabs.getSelected(null, function(tab) {
document.getElementById('currentLink').innerHTML = tab.url;
tabUrl = tab.url;
});
}
document.write(tabUrl)
</script>
如何将tabUrl
传递给http://ting-1.appspot.com/submit?
谢谢!
我使用的background.html
改编自Mohamed Mansour的回答:
<script>
//React when a browser action's icon is clicked.
chrome.browserAction.onClicked.addListener(function(tab) {
//this gets the url and the title
chrome.tabs.getSelected(null, function(tab) {
tabUrl = tab.url
tabTitle = tab.title
//this posts the data to the bookmarking app
var formData = new FormData();
formData.append("url", tabUrl);
formData.append("title", tabTitle);
formData.append("pitch", "this is a note");
formData.append("user_tag_list", "tag1, tag2");
var xhr = new XMLHttpRequest();
xhr.open("POST", "http://ting-1.appspot.com/submithandlertest");
xhr.send(formData);
});
});
</script>
您使用正常的XHR (XMLHttpRequest)请求。我会把它放在你的背景页。遵循这里的示例,https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/Using_XMLHttpRequest。我相信你也想提交数据,所以不要忘记这一点。我想你也想要POST请求。从MDC的示例中,您可以这样关联它:
var formData = new FormData();
formData.append("username", "Groucho");
formData.append("accountnum", 123456);
var xhr = new XMLHttpRequest();
xhr.open("POST", "http://ting-1.appspot.com/submit");
xhr.send(formData);
请确保在清单中有获取该请求的权限的URL。
"permissions": [
"tabs",
" http://ting-1.appspot.com/submit"
],
相关文章:
- Chrome扩展:Can't从chrome.local变量中检索值
- chrome中的意外全局变量有解决方案吗
- Chrome扩展:是否有一种方法可以运行JavaScript来获取页面上的内部html,并将其保存到扩展中的变量中
- 如何从 Chrome 扩展程序中的内容脚本中获取变量
- 为什么Chrome不'不允许在调试中更改变量
- 使用chrome.storage.get获取变量
- 如何使用Chrome'查看窗口对象中定义了哪些变量;的开发工具
- 当chrome检查器为jQuery变量返回[object object]时,如何返回实际数据
- Chrome扩展:storage.set()不接受变量作为关键字
- 从服务器加载的javascript变量不是在chrome中定义的,而是在firefox中定义的
- 使用Chrome扩展从以前的选项卡中获取变量
- Chrome扩展全局变量怪异
- 将变量传递到Chrome扩展中的徽章文本
- 在JavaScript或使用Chrome更改变量引用时,是否有暂停执行的方法
- Django google-maps API v3没有'使用模板变量时不能使用Chrome
- 简单的一个?将变量从 Chrome 扩展程序页面传递到 PHP 页面
- 检查未定义的变量在 chrome 中不起作用
- 使用 JavaScript 和 Google Chrome API 将剪贴板数据存储到变量中
- 为什么我无法访问 Chrome 调试器中 $.each 循环中的变量
- Chrome 中的 JavaScript 变量