【问题标题】:How to change the URL for an active popup?如何更改活动弹出窗口的 URL?
【发布时间】:2016-05-17 17:03:22
【问题描述】:

我想创建一个页面来显示投资组合内容。我没有将每个项目链接到单独的页面,而是在整个页面上方覆盖了一个弹出窗口以显示内容。

是否可以在弹出窗口处于活动状态时更改 url?我希望能够链接到特定的弹出窗口,而不必在主页上找到特定项目。

这是JSFIDDLE 和我的代码。

  $('#info1').popup({
     color: 'black',
     opacity: 1,
     transition: '0.3s',
     scrolllock: true
  });

  $('#info2').popup({
     color: 'black',
     opacity: 1,
     transition: '0.3s',
     scrolllock: true
  });

【问题讨论】:

  • 对不起,我知道代码是必需的。我似乎无法让外部资源正常工作。
  • 谢谢,我更新了我原来的问题。
  • 我不明白。如果您覆盖整个屏幕,用户如何浏览您的网站?你会在弹出窗口中有链接吗?或者这就是你要问的?这个问题有点不清楚
  • 我想知道当您单击“查看更多”按钮时,URL 是否可以更改,以便可以直接链接到弹出窗口。
  • 链接到实际页面有什么问题?您是否考虑过使用显示更多/显示更少的方法?

标签: javascript jquery url


【解决方案1】:

好的,为了让它工作,我添加了这些功能

$(".info1_open").click(function(){

    var popLink1 = "http://www.rachelgallen.com/popupworks.html";
    window.history.pushState(popLink1, "popLink", "http://www.rachelgallen.com/popup1.html");

});
$(".info1_close").click(function(){

    var popLink1 = "http://www.rachelgallen.com/popup1.html";
    window.history.pushState(popLink1, "popLink", "http://www.rachelgallen.com/popupworks.html");

});

$(".info2_open").click(function(){

    var popLink2 = "http://www.rachelgallen.com/popupworks.html";
    window.history.pushState(popLink2, "popLink", "http://www.rachelgallen.com/popup2.html");

});
$(".info2_close").click(function(){

    var popLink2 = "http://www.rachelgallen.com/popup2.html";
    window.history.pushState(popLink2, "popLink", "http://www.rachelgallen.com/popupworks.html");

});

请注意,关闭时恢复到原始网址很重要。

我注意到的另一件事是,如果我仅从 rachelgallen.com(没有 www. 之前)尝试它,它不起作用,因此请确保您在链接中输入您的首选域

你可以阅读更多关于 pushState(这是一个新的 HTML5 东西)here

working link

【讨论】:

  • 顺便说一句,中间的参数只是页面的标题 - 它可以是任何你想要的
  • 感谢 Rachel 的帮助,我已经搞定了。
  • 万岁!我知道一定有办法... :)
  • @RachelGallen 请注意,文档链接在不久的将来将无法使用,这就是我进行编辑删除链接的原因。
猜你喜欢
  • 1970-01-01
  • 2012-12-29
  • 1970-01-01
  • 1970-01-01
  • 2017-04-12
  • 2011-06-15
  • 1970-01-01
  • 1970-01-01
  • 2016-05-23
相关资源
最近更新 更多