【问题标题】:Save parameters on 2 different sites在 2 个不同的站点上保存参数
【发布时间】:2013-07-15 15:35:48
【问题描述】:

我有 2 个网站,每个我都会在您第一次访问该网站时出现一个弹出窗口。在此弹出窗口中,您会看到一条消息,让您有 2 个选择:留在网站上或访问另一个。您可以选择在下次访问时隐藏弹出窗口(cookie)。

当前情景:

我去站点 1,弹出窗口出现,我选择去站点 2,弹出窗口也出现。

所需场景:

我进入站点 1,出现弹出窗口,我选择进入站点 2,但没有出现弹出窗口,因为我来自站点 1

这可能吗?

谢谢你:)

【问题讨论】:

  • 这和MySql有什么关系?
  • 我认为也许一种可能的解决方案是您可以在数据库中存储一个变量并将该变量发送到另一个站点数据库以隐藏弹出窗口

标签: php cookies


【解决方案1】:

您可以将用户选择存储在某个数据库表中(但这需要用户在做出选择之前先登录),或者您在第二个站点上检查用户来自哪里并有条件地显示弹出窗口。谷歌

document.referrer

url parameters javascript

任何进一步的帮助都需要您的努力和代码。

【讨论】:

    【解决方案2】:

    如果它们在同一个域上,为什么不尝试在重定向到 site2 之前从 site1 juste 创建 cookie...

    另外,你可以在url查询字符串中添加一个参数,或者传递一个POST隐藏变量,以便在site2中捕获这个参数并且不弹出弹出窗口

    【讨论】:

      【解决方案3】:

      是的,这是可能的。 PHP 服务器变量包含一个引用 ($_SERVER['HTTP_REFERER'])。如果您根据这两个站点之一检查该引荐来源网址,并在引荐来源网址为 site1(或两个)时显示弹出窗口。

      但请注意,某些用户代理不支持(或隐藏)引荐来源网址,因此它可能不是最佳解决方案。

      【讨论】:

        【解决方案4】:

        这将是最简单的:

        我在site1,打开弹出窗口,点击转到site2 并切换到site2.com/?popup=no 之类的网址。 site1 看到 GET 参数并且不显示弹出窗口,而是放置一个 cookie 以在用户下次访问时隐藏弹出窗口。

        或者,如果两个站点都可以访问同一个数据库,您可以保存会话 ID 和用户在一个站点上选择的选项。

        【讨论】:

        • 我使用了你的建议并且它正在工作,我想出了这个:var url = location.href; if (url.indexOf('?popup=no') === -1) { console.log("popup yes"); } else{ e("#popup").css("display", "none") } 谢谢 :)
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2021-01-02
        • 1970-01-01
        • 2013-12-19
        • 1970-01-01
        • 2016-06-22
        • 2012-06-05
        • 2017-12-20
        相关资源
        最近更新 更多