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

推薦する

検証コード干渉を実装する js (静的)

この記事では、検証コード干渉を実装するためのjsの具体的なコードを参考までに共有します。具体的な内容...

スタックメニューを実装するためのjQueryプラグイン

jQueryプラグインの毎日の積み重ねメニュー、参考までに、具体的な内容は次のとおりです。スタックメ...

HTML シンプルショッピング数量アプレット

この記事では、参考までにシンプルなHTMLショッピング数量アプレットを紹介します。具体的な内容は次の...

Linux Jenkins 構成スレーブノード実装プロセス図

序文: Jenkins のマスター スレーブ分散アーキテクチャは、主に、Jenkins に単一ポイン...

MySQLは適切なストレージエンジンを選択します

データベースに関して最もよく聞かれる質問の 1 つは、現在のビジネス ニーズを満たす MySQL の...

iframeリフレッシュ方式の方が便利

iframeを更新する方法1. 更新するには、JavaScriptのdocument.fr.loca...

Linux での fuser コマンドの使用法の詳細な説明

説明する: fuser は、現在ディスク上のファイル、マウント ポイント、さらにはネットワーク ポー...

Facebook によるインターネット サービスのほぼ完璧な再設計

<br />出典: http://www.a-xuan.cn/?p=197 先ほどFac...

Vue.js の watch メソッドと computed メソッドの違いの詳細な例

目次序文導入1. 作用機序2. 自然から3. 時計と計算の比較4. メソッドはデータロジックの関係を...

クラウドサーバーはBaotaを使用してPython環境を構築し、Djangoプログラムを実行します。

目次PagodaをインストールするPythonランタイム環境を構成するPythonをインストールする...

イントラネット侵入を実現するためのSSHポート転送

LAN 内のマシンは外部ネットワークにアクセスできますが、外部ネットワークは内部ネットワークにアクセ...

Windows Server 2016 標準キー アクティベーション キー シリアル番号

Windows Server 2016 アクティベーション キーを皆さんと共有したいと思います。wi...

JavaScript関数の詳細な説明これを指す問題

目次1.関数内のこの方向1. 通常の機能2. コンストラクター3. オブジェクトメソッド4. イベン...

Eclipse は Tomcat を構成しますが、Tomcat には無効なポート解決策があります

目次1. EclipseがTomcatを構成する2. Tomcat の無効なポートの解決方法方法1:...

2つのVirtualBox仮想ネットワークをブリッジするLinuxブリッジメソッドの手順

この記事は、この時期の「ピーターから奪ってポールに払う」という仕事のスタイルに対する私の不満から生ま...