diff --git a/src/bg/ChildPolicies.js b/src/bg/ChildPolicies.js index b6904f8..74aeccb 100644 --- a/src/bg/ChildPolicies.js +++ b/src/bg/ChildPolicies.js @@ -105,9 +105,10 @@ var ChildPolicies = { addTabInfoCookie(request, info) { + let {tabId, frameId} = request; let h = { name: "Set-Cookie", - value: `${marker}=${JSON.stringify(info)}` + value: `${marker}_${tabId}_${frameId}=${JSON.stringify(info)}` }; let {responseHeaders} = request; if (responseHeaders.some(({value, name}) => h.value === value && h.name === name)) { diff --git a/src/content/staticNS.js b/src/content/staticNS.js index c746180..6002bfd 100644 --- a/src/content/staticNS.js +++ b/src/content/staticNS.js @@ -52,13 +52,14 @@ // (before any content can access it) if (this.config.MARKER = MARKER) { - let cookieRx = new RegExp(`(?:^|;\\s*)${MARKER}=([^;]*)`); + let cookieRx = new RegExp(`(?:^|;\\s*)(${MARKER}(?:_\\d+){2})=([^;]*)`); let match = document.cookie.match(cookieRx); if (match) { + let [cookie, cookieName, cookieValue] = match; // delete cookie NOW - document.cookie = `${MARKER}=;expires=${new Date(Date.now() - 31536000000).toGMTString()}`; + document.cookie = `${cookieName}=;expires=${new Date(Date.now() - 31536000000).toGMTString()}`; try { - this.config.tabInfo = JSON.parse(decodeURIComponent(match[1])); + this.config.tabInfo = JSON.parse(decodeURIComponent(cookieValue)); } catch (e) { error(e); }