ChromeはCookieの変更を監視し、値を割り当てます

ChromeはCookieの変更を監視し、値を割り当てます

次のコードは、Chrome による Cookie の変更の監視を導入しています。コードは次のとおりです。

/**
* クッキーの変更を監視する */
chrome.cookies.onChanged.addListener(function(changeInfo){
	// cookies.onChanged はすべての Cookie を監視するため、Web サイト独自の Cookie のみをフィルタリングして処理する必要があります。
	if(GhomepageDomain == changeInfo.cookie.domain){
		var cookieNameReg = /[AZ]/;
		var cookieInfo = changeInfo.cookie;
		if(!cookieNameReg.test(cookieInfo.name)){
			//すべての小文字のクッキー名をプラグインにコピーします
			if(changeInfo.removed){
				// クッキーを削除する
				chrome.cookies.remove({
					url: Gplugin、
					名前: cookieInfo['name']
				},関数(_cookie){
					// console.log('Cookie を削除、再取得',_cookie);
				 	// ユーザー情報を取得します(1);
				});
			}それ以外{
				// クッキーを設定する
				chrome.cookies.set({
					url: Gplugin、
					名前: cookieInfo['name'],
					パス: '/'、
					値: cookieInfo['value'],
					有効期限: cookieInfo['expirationDate'],
					セキュア: true、
					sameSite: 'no_restriction', // クロスドメインCookieをブロックしない
				},関数(_cookie){
					// console.log('Cookie を設定、再取得',_cookie);
					// ユーザー情報を取得します(1);
				});
			}
		}
	}
});

ps: CHROME 拡張機能のノートの Cookie 監視と割り当ての問題を見てみましょう。

Cookie の監視および割り当て操作には、マニフェスト ファイルで権限を宣言する必要があります。
権限は次のとおりです。

{
	"permissions": [ "cookies", "*://*.cookies.com/* を操作するドメイン名" ],
}
/**
* クッキーの変更を監視する */
chrome.cookies.onChanged.addListener(function(changeInfo){
	// cookies.onChanged はすべての Cookie を監視するため、Web サイト独自の Cookie のみをフィルタリングして処理する必要があります。
	if(GhomepageDomain == changeInfo.cookie.domain){
		var cookieNameReg = /[AZ]/;
		var cookieInfo = changeInfo.cookie;
		if(!cookieNameReg.test(cookieInfo.name)){
			//すべての小文字のクッキー名をプラグインにコピーします
			if(changeInfo.removed){
				// クッキーを削除する
				chrome.cookies.remove({
					url: Gplugin、
					名前: cookieInfo['name']
				},関数(_cookie){
					// console.log('Cookie を削除、再取得',_cookie);
				 	// ユーザー情報を取得します(1);
				});
			}それ以外{
				// クッキーを設定する
				chrome.cookies.set({
					url: Gplugin、
					名前: cookieInfo['name'],
					パス: '/'、
					値: cookieInfo['value'],
					有効期限: cookieInfo['expirationDate'],
					セキュア: true、
					sameSite: 'no_restriction', // クロスドメイン Cookie をブロックしません。 secure と sameSite が利用できない場合、iframe ページは Chrome 80 以降で Cookie を使用できません。
				},関数(_cookie){
					// console.log('Cookie を設定、再取得',_cookie);
					// ユーザー情報を取得します(1);
				});
			}
		}
	}
});

注: secure と sameSite を理解していない方は、Cookie の SameSite 属性に関する Liao Xuefeng のブログをお読みください。

Chrome の Cookie 変更監視と割り当て問題に関するこの記事はこれで終わりです。Chrome の Cookie 変更監視に関するより関連性の高いコンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • jsは変更されていないツリーメニューを更新するためにクッキーを使用します

<<:  CSS で overflow-y: visible; が機能しない理由の分析と解決

>>:  Kylin V10 への zabbix-agent のインストール手順

推薦する

MySQL がユーザー名とパスワードの漏洩を引き起こす可能性のある Riddle の脆弱性を公開

MySQL バージョン 5.5 および 5.6 を標的とする Riddle 脆弱性により、中間者攻撃...

CSSをiPhoneのフルスクリーンに適応させる方法

1. メディアクエリ方式 /*iPhone X への適応*/ @media 画面のみ、(デバイス幅:...

nginx でクロスドメイン障害修復を構成する方法の例

Nginxのクロスドメイン設定は次のようには機能しません サーバー{ 聞く 80; server_n...

Centos7 環境でバイナリ インストール パッケージから mysql5.6 をインストールする方法の詳細な説明

この記事では、centos7 環境でバイナリ インストール パッケージを使用して mysql5.6 ...

CSS変数を使用してスタイルを変更する方法の例

質問js を使用して CSS 疑似クラス スタイルを変更するにはどうすればよいでしょうか?しかし、j...

Linux での Firewalld の高度な設定の使用に関する詳細な説明

IPマスカレードとポート転送Firewalldは2種類のネットワークアドレス変換をサポートしています...

MySQL のインデックスの種類と基本的な使用例

目次索引- 総合索引- ユニークなインデックス- 主キーインデックス- 複合インデックス- 全文索引...

MySQLでインデックスエラーが発生する状況について簡単に説明します

以下に、トレーニング機関からのヒントと私自身の要約をいくつか示します。以下のインデックスの内容を説明...

階層化されたピラミッドを実現するための HTML+CSS の例

この記事では主に、HTML+CSS で階層化ピラミッドを実装する例を紹介し、皆さんと共有します。詳細...

Xshellの一般的な問題と関連する設定の詳細な説明

この記事では、Xshell と関連する構成の一般的な問題について説明します。この記事の構成は、主に ...

Dockerfile ビルド中に発生する「/bin/sh: pip: コマンドが見つかりません」という問題の解決方法

記述した Dockerfile の内容は次のとおりです。 Python:3.6.8 から pip i...

MySQL リンクを表示し、異常なリンクを削除する方法

序文:データベースの運用や保守の際には、リンクの総数がいくつあるか、アクティブなリンクがいくつあるか...

Linux で FTP イメージ サーバーをインストールして展開する方法

Linux で FTP サーバーを設定するためのチュートリアルを参照してください https://w...

CentOS 7.2 は uniapp プロジェクトを展開するための nginx Web サーバーを構築します

Pantherは新人としてスタートし、今もまだ新人ですが、人々から学び、学んだことを時々皆さんと共有...