Javascript 使用bookmarklet读取Cookie

Javascript 使用bookmarklet读取Cookie,javascript,session-cookies,bookmarklet,cross-domain-policy,Javascript,Session Cookies,Bookmarklet,Cross Domain Policy,我正在开发一个帮助用户共享图像的bookmarklet。在对此人进行身份验证时,我需要阅读域设置的cookie:www.xxx.com bookmarklet JavaScript由bookmarklet.xxx.com提供,但由于此JavaScript在调用bookmarklet的网站上呈现,因此它只访问该网站的cookie,而不访问www.xxx.com设置的cookie 我已经对此进行了研究,根据SO的一些回答,这是一个安全问题,因此无法访问来自另一个域的cookie 我尝试在www.xx

我正在开发一个帮助用户共享图像的bookmarklet。在对此人进行身份验证时,我需要阅读域设置的cookie:www.xxx.com

bookmarklet JavaScript由bookmarklet.xxx.com提供,但由于此JavaScript在调用bookmarklet的网站上呈现,因此它只访问该网站的cookie,而不访问www.xxx.com设置的cookie

我已经对此进行了研究,根据SO的一些回答,这是一个安全问题,因此无法访问来自另一个域的cookie

我尝试在www.xxx.com/iframe/iframe.html呈现的隐藏iframe中执行脚本,它确实访问了cookies,但问题是该脚本无法将值传递给我的bookmarklet脚本。我无法访问Iframe DOM,这是另一个安全问题

请建议一个合适的方法,以便我可以解决这个问题

您可以使用将信息从iframe传递回页面

发送消息:

windowReference.postMessage("The user is 'bob' and the password is 'secret'",
              "https://secure.example.net");
阅读信息

window.addEventListener("message", receiveMessage, false);

function receiveMessage(event)
{
  if (event.origin !== "http://example.org:8080")
    return;

  // ...
}

当然,让我试试看。如果有效的话,我真的会给你送花@epascarello;)这是一个好东西,但我认为它与其他浏览器存在一些严重的兼容性问题!最后一个问题。如果我能够访问唯一的浏览器哈希或某些唯一的指纹,是否可能。你看,我的目标是识别一台计算机。如果不是通过cookies,那么还有其他方法吗?有很多库:就是其中之一。