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 のインストール手順

推薦する

ポップアップウィンドウの上下中央左右と透明な背景のロックウィンドウ効果を実現する CSS

クリック後にポップアップボックスを実現し、上下左右に中央揃えし、灰色の透明マスクを追加してウィンドウ...

理論の普及——ユーザーエクスペリエンス

1. 概念分析 1: UE ユーザー エクスペリエンス <br />英語ではユーザー エ...

show processlist コマンドによる MySQL パフォーマンス検査の説明

show processlist コマンドは非常に便利です。MySQL の実行が 50% 以上になる...

Vue要素はテーブルの追加、削除、データの変更を実装します

この記事では、テーブル内のデータを追加、削除、変更するためのvue要素の具体的なコードを参考までに共...

nginxディレクトリパスをリダイレクトする方法

ドメイン名に続くパスがデフォルトの Web ディレクトリではなく、ローカル ディスク上の他のディレク...

lnmp を使用して MySQL データベースのルート パスワードをリセットする 2 つの方法

最初の方法: Junge のワンクリック スクリプトを使用して、LNMP 環境で MYSQL データ...

MYSQL 左結合の最適化 (10 秒から 20 ミリ秒)

目次【機能背景】 [生のSQL] 【独自SQL解析】 【分析手順】 [最適化されたSQL] 【最適化...

MySQLカスタム変数の概念と特徴

MySQL カスタム値は、値を保存するための一時的なコンテナです。サーバーへの接続がアクティブである...

ECMAScript のイテレータの詳細な説明

目次序文以前のバージョンイテレータパターンイテレータファクトリ関数イテレータプロトコル最後に序文多く...

MySQL ジョイントインデックスの使用ルール

結合指数は複合指数とも呼ばれます。複合インデックスの場合: MySQL はインデックス内のフィールド...

CSSレイアウトにおけるフローティング問題に対する4つの解決策の詳細な説明

1. 原因:サブボックスをフロートに設定した後の効果: 青いボックスをフロートに設定すると、標準のド...

MySQL 8.0.19 では、間違ったパスワードを 3 回入力するとアカウントがロックされるようになりました (例)

MySQL 8.0.19 では、間違ったパスワードを 3 回入力するとアカウントがロックされるよう...

インラインブロックを使用した複数のdiv間の間隔はプログラミング方法とは異なります

inline-block について学習しているときに、境界線と inline-block を持つ複数...

WeChatアプレットが連携メニューを実現

最近はコース設計を実現するために、フロントエンドも少しやっています。今日はいくつかの機能を実現するた...

mysql トリガーの作成と使用例

目次トリガーとは何かトリガーを作成するMySQL 作成構文のキーワードの説明: 1. MySQL ト...