我正在为我的 Django 网站制作一个 chrome 扩展(带有链接提交功能)。我正在使用django-tastypie从 JavaScript 发布链接。但是,我不知道如何从 JavaScript 访问 django 会话以确定链接的提交者。使用console.log(document.cookie)
听起来不太可能,因为 document.cookie 显然是从当前页面访问 cookie,而不是从我的 django 驱动的网站访问 cookie。任何帮助,将不胜感激。
问问题
1457 次
1 回答
0
据我所知,有两种方法可以做到这一点。
在您的 Django 应用服务器端实现 oAuth,并使用Javascript oAuth 方法来验证您的用户。如果您还没有提供 oAuth,这对您来说可能需要做很多工作,所以这可能是个坏主意。
将 iframe 与您网站中的页面一起使用。将内容脚本注入 iframe 并从中提取数据。您可能必须设置特定端点。
{
...,
"content_scripts": [
{
"matches": ["http://yoursite.com/api/extension"],
"js": ["content_script.js"],
"all_frames": true
}
],
...
}
由另一个内容脚本加载到 iframe 中的端点可能如下所示:
...
<div id="user_info">joe_user</div>
...
然后您的脚本将拉出textContent
#user_info div 并将其发送到后台页面供您使用:
var elem = document.querySelector('#user_info');
chrome.extension.sendMessage({
text: elem.textContent
});
有关消息传递的更多信息,请参阅 Google 的消息传递文档。
如果您只需要用户信息,我认为这应该对您有用。不过,我不会发送任何这样的敏感信息。
于 2012-07-25T09:39:37.723 回答