如何使用HTML / JavaScript跨域存储ID字段?

时间:2014-04-17 14:18:05

标签: javascript html5

我有一个网络应用程序,它具有转换跟踪功能,以确定是否有活动" A"由网站访问者执行使他们采取行动" B"。

如果跟踪全部在一个域上,则此转换跟踪可以正常工作。如果它发生在两个不同的域中,它会中断。

此跟踪目前通过在HTML5 localStorage中存储1visitorId1来完成(尽管解决方案不必使用localStorage)。然后我从另一个域中检索visitorId ...我只需要一种方法来跨两个域存储可恢复的数据。

转换跟踪是通过JavaScript嵌入启用的。因此,我的客户将获取JS代码段并将其粘贴到他们想要跟踪转换的页面中。这就是问题出现的地方,因为我无法控制他们将嵌入这个JS片段的位置。

我希望我已经解决了问题(以及所需的解决方案),如果我还没有发表评论。

谢谢大家!我真的很感谢StackOverflow社区中每个人的帮助,你们都很棒:)

2 个答案:

答案 0 :(得分:0)

如果您对这两个网站都有权力,那么它相当容易(但它可能不是最好的解决方案)。

如果允许用户查看ID,则只需在您的网址中添加GET变量,然后将用户重定向到该网址即可。例如:domain2.com?visitorId=1234

在阅读变量时查看此内容:http://papermashup.com/read-url-get-variables-withjavascript/

答案 1 :(得分:0)

不确定是否会产生这种结果,但你可以试试这个:

域B是您创建cookie或localStorage

的地方

从域A中的HTML中,您将有一个指向域B的某个HTML页面的iframe,它将负责检索所需的cookie。

然后,您可以使用postMessage库(如此处所述:http://www.onlineaspect.com/2010/01/15/backwards-compatible-postmessage/)来传达iframe和您当前的页面。

通过这种方式,你可以在域A中有一个监听器来监听域B上的一个函数,你将传递cookie或localStorage数据。

希望这种方法可以帮助你。我重申这是一个建议。我使用过postMessage,效果很好!