:访问链接而不离开页面
:Visited Links Without Leaving page
我目前正在构建一个 Sharepoint 页面。该页面使用 link 的锚标记,而不是离开页面,触发模式对话框。它们的功能就好像它们是正常的 link 一样。 注意: div 内容是通过 rest 引入的,这意味着它们是通过 javascript 函数填充的,因此手动编辑 css 不会持续存在。
我使用锚标签是因为我想访问 :visited 标签,以便用户知道他们之前查看过哪些 link。这里的问题是我一直在使用 href='#' 的占位符标签。这并没有给我预期的结果,因为当每个 link 有 href='#' 时,访问一个 link 会改变所有 link 的颜色] 在页面上。
我试图包括通过我的对话框功能打开的 link,这样每个 link 都会有一个唯一的 URL,但为了避免离开页面,我的函数 returns false,这又不会触发 :visited 事件。
有什么方法可以让我拥有独特的 URLs 来区分 non-static Div 条目与 :visited 个子类而不让锚导航离开当前页面?
<a class="hyper" href="myLinkHere" onclick="return myDialog(//start dialog then return false);">This is a Title</a>
您可以在 href 中使用#something 来指定一个内部页面 ID link。如果您指定一个不在页面上的 ID,您将拥有一个唯一 ID,将 link 标记为已访问,而不会实际带您到任何地方。例如..
<a href="#test">Test</a>
<a href="#test2">Test</a>
<a href="#test3">Test</a>
<a href="#test4">Test</a>
如果您打算在一个会话中保持link状态,那么只需在javascript中进行管理即可。在 return false 之前,更改 CSS class 或执行您计划更改 link 外观的任何其他操作。
如果您打算在会话中保持link状态,那么在客户端使用javascript的组合,无论您是在服务器端使用为给定用户维护该状态。
我知道从某种意义上说,如果可以的话,将它全部保留在客户端会更容易,但让我们面对现实吧——用户实际上并没有访问任何东西,当他们单击 link,因此尝试假装它们不一定是最合乎逻辑的选择。
@James Waddington:你的回答太棒了!!你通过一个小的调整解决了这个问题。现在我也可以将已访问的 links 用于模态框或颜色框。
您可以在 href 中使用#something 来指定一个内部页面 ID link。如果您指定一个不在页面上的 ID,您将拥有一个唯一的 ID,将 link 标记为已访问,而不会实际带您到任何地方。例如..
<a href="#test">Test</a>
<a href="#test2">Test</a>
<a href="#test3">Test</a>
<a href="#test4">Test</a>
我目前正在构建一个 Sharepoint 页面。该页面使用 link 的锚标记,而不是离开页面,触发模式对话框。它们的功能就好像它们是正常的 link 一样。 注意: div 内容是通过 rest 引入的,这意味着它们是通过 javascript 函数填充的,因此手动编辑 css 不会持续存在。
我使用锚标签是因为我想访问 :visited 标签,以便用户知道他们之前查看过哪些 link。这里的问题是我一直在使用 href='#' 的占位符标签。这并没有给我预期的结果,因为当每个 link 有 href='#' 时,访问一个 link 会改变所有 link 的颜色] 在页面上。
我试图包括通过我的对话框功能打开的 link,这样每个 link 都会有一个唯一的 URL,但为了避免离开页面,我的函数 returns false,这又不会触发 :visited 事件。
有什么方法可以让我拥有独特的 URLs 来区分 non-static Div 条目与 :visited 个子类而不让锚导航离开当前页面?
<a class="hyper" href="myLinkHere" onclick="return myDialog(//start dialog then return false);">This is a Title</a>
您可以在 href 中使用#something 来指定一个内部页面 ID link。如果您指定一个不在页面上的 ID,您将拥有一个唯一 ID,将 link 标记为已访问,而不会实际带您到任何地方。例如..
<a href="#test">Test</a>
<a href="#test2">Test</a>
<a href="#test3">Test</a>
<a href="#test4">Test</a>
如果您打算在一个会话中保持link状态,那么只需在javascript中进行管理即可。在 return false 之前,更改 CSS class 或执行您计划更改 link 外观的任何其他操作。
如果您打算在会话中保持link状态,那么在客户端使用javascript的组合,无论您是在服务器端使用为给定用户维护该状态。
我知道从某种意义上说,如果可以的话,将它全部保留在客户端会更容易,但让我们面对现实吧——用户实际上并没有访问任何东西,当他们单击 link,因此尝试假装它们不一定是最合乎逻辑的选择。
@James Waddington:你的回答太棒了!!你通过一个小的调整解决了这个问题。现在我也可以将已访问的 links 用于模态框或颜色框。
您可以在 href 中使用#something 来指定一个内部页面 ID link。如果您指定一个不在页面上的 ID,您将拥有一个唯一的 ID,将 link 标记为已访问,而不会实际带您到任何地方。例如..
<a href="#test">Test</a>
<a href="#test2">Test</a>
<a href="#test3">Test</a>
<a href="#test4">Test</a>