我有像这样的页面流
这一切都很好。但是现在客户想要一个开放部分的可收藏链接,即当使用点击左侧div时,右侧div应该打开,这应该有正确的URL,以便可以共享。
我如何实现这一点,为开放的div制作网址?我试过#id = 1002一切正常,但是当用户复制url和paste时,java无法获取哈希标记。
答案 0 :(得分:0)
这是其中之一。 - 编码并映射URL,然后在javascript中处理它们。
让我解释一下。
比如说,你有2个div - div1
,div2
(1)编纂并创建一个映射逻辑/约定---
将div的状态映射到URLS -
div1
打开div2
关闭 - > URL = mysite.com/page/d1-open/d2-close
div1
打开div2
打开 - > URL = mysite.com/page/d1-open/d2-open
div1
关闭div2
打开 - > URL = mysite.com/page/d1-close/d2-open
div1
关闭div2
关闭 - > URL = mysite.com/page/d1-close/d2-close
等等
(2)处理服务器上的URL ---只需发送mysite.com/page的输出,忽略其余部分
(3)处理客户端的URL ---
类似这样的事情
function handleURL() {
var myURL = window.location.href;
var urlArray = myURL.split("/");
//examine the urlArray and decode the URL code after mysite.com/page/
// and open or close your divs accordingly
// eg: if the url-part after page/ is div1-open/div2-close
// i.e urlArray[2]=div1-open and urlArray[3]=div2-close
// you would know what to do accordingly...
}
我解释过你的例子,几乎不可扩展。您必须为2^n
的每个组合手动设置n divs
映射。但是,如果真的想让它可扩展,你也可以自动化编码。
您可以为页面的每个状态指定唯一ID。
例如:mysite.com/mypage/page-config-id=abcd1
然后你问服务器div configuration
即哪个div
打开哪些div关闭等作为JSON。然后你可以使用Javascript来解析JSON并重新排列页面。
您可以将div config --> page-config-id
键值对存储在数据库或文件或noSQL或其他任何服务器上的键值数据库中。
答案 1 :(得分:0)
您需要网址才能正确显示内容。
您必须提供链接到搜索资源的uri路由器。
如果您的搜索资源是用户个人资料,那么所有用户都应该可以通过/ user /:userid这样的uri访问。
假设搜索是针对名为 z 的人。您的左侧div将包含名称为 z 的所有个人资料。单击任何结果项将在详细视图中打开该人,但是应使用location属性将URL更改为/ user / z1。
此外,您还需要检查搜索资源的用户是否具有访问级别才能查看该内容。