我想向用户显示我在主页面上预览他的项目的网址。这将有助于我的用户找到该项目的主页面。我在facebook上看过类似的例子。现在,有一天,当您点击Facebook上的已发布图像时,它会以影院模式预览图像,当您刷新浏览器时,它会将您带到该图像的主页面。 我尝试了下面提到的方法。
location.hash="/example";
这不是我想要的,因为我不想只是想改变哈希属性。我想改变网址。 我尝试的下一件事是window对象的pushState属性。这在IE中不起作用,所以这对我不起作用。
window.history.pushState('object',"title goes here","New_location_goes_here");
任何人都可以帮助我。 提前致谢
答案 0 :(得分:0)
您在Facebook中提到的预览是使用AJAX(XMLHttpRequest)在幕后加载预览并将其添加到当前页面。
有一个名为lightbox的常见小部件,可供选择的许多后代。查看wikipedia lightbox article。
这个不会更改浏览器地址栏中的URL,如果这就是您所追求的 - 我在这一点上似乎不清楚这些问题 - 这些(AJAX)方法无需工作改变当前的URL地址。
(Sourabh,感谢您的澄清)
一种方法是将预览项附加到URL,例如
http://example.com/stuff/pageA
可能会成为
http://example.com/stuff/pageA/preview1
http://example.com/stuff/pageA/preview2
(or)
http://example.com/stuff/pageA?preview=preview1
http://example.com/stuff/pageA?preview=preview2
(or)
http://example.com/stuff/pageA/preview1.png
http://example.com/stuff/pageA/preview2.png
pageA
的服务器端处理程序将更改为处理pageA/*
并仍然会加载相同的页面,但也会将预览图片加载到灯箱中。
更改您不想要的哈希值可以保留在同一页面上并加载预览,并且可以加入书签,但遗憾的是,更改URL必须访问服务器
答案 1 :(得分:-1)
好吧,你可以使用jQuery.uoload()方法并对php文件和会话变量进行一些ajax调用。然后在页面加载时检查是否设置了varible并重定向到它。除非对于IE的pushState有一些修复。
关于IE上的pushState几乎没有问题: