如果我从iframe抓取它 - 铬扩展程序 - chrome.cookies不可用,如何在当前选项卡中设置cookie

时间:2015-11-11 23:16:15

标签: javascript iframe cookies google-chrome-extension content-script

笔(sry小提琴手不停地重置我的小提琴而不是保存):http://codepen.io/anon/pen/RWqmPr

在我的本地,我已经设置了iframe成功抓取另一个网站cookie并基本上将其显示为iframes innerHTML。我将它设置为var = cookieVal;同样。

我打算在chrome扩展名触发的setMyCookie()函数中尝试一个document.cookie =“... ... cookieVal”...但是不会只为实际扩展页面设置cookie而不是当前标签你在吗?

我已经看到消息传递作为一种可能的解决方案,但我不太明白如何在这里实现它。所以,如果这是一个解决方案的某个方向会很好。

清单权限:

"permissions": [
    "cookies",
    "history",
    "tabs",
    "https://*.cars.com/",
    "https://www.cars.com/profile/global/user-summary/"
    "http://*/*"
]

1 个答案:

答案 0 :(得分:0)

  • 在内容脚本中设置document.cookie将在页面上设置cookie,而不是在扩展名内。因此,如果您从内容脚本中注入iframe,那么您也可以在同一内容脚本中设置cookie。

  • 如果您想要从扩展程序的弹出/后台脚本设置Cookie,而不使用chrome.cookies API inject a content script进入活动标签页(这将需要"permissions"清单给定网址的.json密钥):

    chrome.tabs.executeScript({
        code: 'document.cookie = JSON.parse("' + JSON.stringify(cookie) + '")'
    });