Django を利用したサイト用に、Chrome 拡張 (リンク送信機能付き) を作成しています。JavaScript からリンクを投稿するためにdjango-tastypieを使用しています。ただし、リンクの送信者を特定するために JavaScript から django セッションにアクセスする方法がわかりません。console.log(document.cookie)
document.cookie は明らかに現在のページの Cookie にアクセスするため、django を利用した Web サイトの Cookie ではなく、使用する可能性はないように思えます。どんな助けでも大歓迎です。
1457 次
1 に答える
0
私が知る限り、これを行うには2つの方法があります。
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 のMessage Passing のドキュメントを参照してください。
ユーザー情報だけが必要な場合は、それでうまくいくと思います。このような機密情報は送信しません。
于 2012-07-25T09:39:37.723 に答える