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

推薦する

Mybatis ファジークエリ実装方法

Mybatis ファジークエリ実装方法mybatis のリバース アシスタントは非常に使いやすく、通...

JavaScript 改ざん防止オブジェクトの使用例

目次JavaScript 改ざん防止オブジェクト1. 拡張不可能なオブジェクト2. 封印された物体3...

CSS セレクターの重みの理解(個人テスト)

コードをコピーコードは次のとおりです。 <スタイル タイプ="text/css&qu...

MySQL はエンタープライズレベルのログ管理、バックアップ、リカバリの実践的なチュートリアルを実装します

背景事業が発展するにつれ、会社の事業内容や規模は拡大し続け、ウェブサイトには大量のユーザー情報やデー...

JavaScript 開発における標準コミットメッセージの重要性の詳細な説明

目次標準コミットメッセージの重要性コミットするコミットリント依存関係をインストールする.commit...

VMware 15 を使用して仮想マシンをインストールし、CentOS 8 を使用する詳細な手順

序文:現在、Linux と .Net Core を学習しており、クロスプラットフォームの知識を学んで...

JSフロントエンドモジュール化のいくつかの仕様についての簡単な説明

目次序文フロントエンドモジュール開発の価値厄介な名前の競合面倒なファイル依存関係モジュール化の利点C...

CSSはcalc()を使用して現在の表示画面の高さを取得します

まず、CSS3 の相対的な長さの単位を見てみましょう (詳細なチュートリアルを参照してください)。相...

div の特定の実装は自動的に折り返されず、HTML で折り返されないよう強制されます。

1. 改行なしを実現するには<nobr>タグを使用するコードをコピーコードは次のとおりで...

MySQL テーブル自動増分 ID オーバーフロー障害レビュー ソリューション

問題: MySQLテーブル内の自動増分IDのオーバーフローによりビジネスブロックが発生した背景: t...

MySQL の CPU 負荷が高い問題のトラブルシューティング

MySQL による CPU 負荷の上昇今日の午後、MySQL によってサーバーの負荷が高くなる問題を...

CentOS7で新しいデータディスクをマウントするための完全な手順

序文新しい VPS を購入しました。新しい VPS のデータ ディスクはデフォルトではシステムにマウ...

Dockerがコンテナを作成した後にホスト名を変更する詳細なプロセス

後悔を癒す薬は世の中にある、考えてみる気さえあれば!コンテナを再作成する必要はもうありません。 m2...

新しい CSS :where および :is 疑似クラス関数とは何ですか?

:is と :where とは何ですか? :is()と:where()は、セレクターを作成するとき...

虫眼鏡の詳細のJavaScript実装

目次1. レンダリング2. 実施原則3. まとめ1. レンダリング 2. 実施原則幅と高さが等しい拡...