Javascript jQuery,首先使用深度链接对所选内容进行排序

Javascript jQuery,首先使用深度链接对所选内容进行排序,javascript,jquery,jquery-isotope,deep-linking,Javascript,Jquery,Jquery Isotope,Deep Linking,你好 鉴于此,客户端需要将深度链接功能添加到现有代码中 我曾使用“”尝试过同位素的内置功能,但这不是客户想要的,原因是: (1) 他们希望显示的URL以斜杠“/”而不是哈希“#”运行 (2) 同位素jQuery烧烤示例应用于过滤器按钮,而不是特定同位素“itemSelector” 这就是客户想要的 (a) 使用特定的深度链接url,浏览器将加载特定项目被选中的页面$this.addClass('selected') (b) 通过单击其他项itemSelector:'.item',url地址栏将在

你好

鉴于此,客户端需要将深度链接功能添加到现有代码中

我曾使用“”尝试过同位素的内置功能,但这不是客户想要的,原因是:

(1) 他们希望显示的URL以斜杠“/”而不是哈希“#”运行

(2) 同位素jQuery烧烤示例应用于过滤器按钮,而不是特定同位素“itemSelector”

这就是客户想要的

(a) 使用特定的深度链接url,浏览器将加载特定项目被选中的页面
$this.addClass('selected')

(b) 通过单击其他项
itemSelector:'.item',
url地址栏将在不刷新页面的情况下更改

对不起,我缺乏表达能力,为了更好地理解,请参阅。我无法对整个站点进行反向工程,因此我的方法是使用jQuery

我想在点击同位素项目选择器时添加一些代码

$items.click(function () {
  var $this = $(this);
  // don't proceed if already selected
  var $previousSelected = $('.selected');
  if (!$this.hasClass('selected')) {
    $this.addClass('selected');
  }

  $previousSelected.removeClass('selected');

  // update sortData for new items size
  $container.isotope('updateSortData', $this)
    .isotope('updateSortData', $previousSelected)
    .isotope();

});

非常感谢

您要找的是。这允许您修改URL栏中显示的内容,而无需重新加载页面。例如,您需要使用库,而不是直接使用API。

(1)他们希望显示的URL以斜杠“/”而不是散列“#”

我真的建议不要在单个页面响应中使用“/”作为菜单导航命令。“/”是表示URI层次结构的保留(ascii 2F)字符。在中使用,可以在您想去的地方使用。翻译为你的影响

我只想让你对使用“/”做出明智的决定。这可能会产生意想不到的后果。我建议选择任何不重新使用URI保留字符的内容

尽管如此,这是可以做到的

  • 如果必须使用斜杠,则必须在Web服务器中提供“通配符URL”映射支持<代码>http://your.domain.com/base/url/**
  • -->某些页面(分层定义到此为止,url的文档片段使用开始)
  • 像jwt网站一样,使用cookie来存储用户单击的首选项,因为您将修改URL以满足客户的要求

  • 您需要收听单击或更新事件以 保持饼干的最新状态

  • 阻止 显示在url中,并将其更改为用户要求的“/”

  • 在页面加载时读取cookie,并使用必要的选项启动,使页面看起来与上次访问时相同


  • +这是一条路。jQuery BBQ就是这个的一个实现。。同位素是用#来做的,但是你可以用任何你想要的方式来做