0

Django を利用したサイト用に、Chrome 拡張 (リンク送信機能付き) を作成しています。JavaScript からリンクを投稿するためにdjango-tastypieを使用しています。ただし、リンクの送信者を特定するために JavaScript から django セッションにアクセスする方法がわかりません。console.log(document.cookie)document.cookie は明らかに現在のページの Cookie にアクセスするため、django を利用した Web サイトの Cookie ではなく、使用する可能性はないように思えます。どんな助けでも大歓迎です。

4

1 に答える 1

0

私が知る限り、これを行うには2つの方法があります。

  1. Django アプリ サーバー側に oAuth を実装し、Javascript oAuth メソッドを使用してユーザーを認証します。oAuth をまだ提供していない場合、これはおそらく多くの作業になるため、おそらく悪い考えです。

  2. サイトのページで 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 に答える