我想要的是具有更改页面一部分的链接,以及它的动态URL,在这里可以指定诸如#calendar=10_2010tabview=tab2
#calendar=10_2010tabview=tab2
Check this for an exact example:
所以这是我需要的链接格式:
#calendar=10_2010&tabview=tab2
我必须像链接变量calendar和tabview这样我就可以改变一个页面上的多个万物而不realoading。
calendar
tabview
要求
需要从任何地方访问,例如邮件,或者我只写在网址栏中。
该链接应该在历史记录中,因此,如果按后退或前进按钮,则需要访问该页面。
页面刷新也需要工作。
请帮我! 我从来没有找到任何解决方案来做到这一点,但我不想使用jquery或任何API或任何库,我想拥有一个工作Javascript/AJAX和PHP脚本。
Javascript/AJAX
PHP
对于问题中链接的演示,实现该功能实际上非常简单-因为它根本不使用任何AJAX(当您开始将AJAX添加到组合中时,会变得更加困难- 稍后说明)。要实现该功能,您将;升级您的链接以使用哈希,然后绑定到hashchange事件中。不幸的是,hashchange事件与跨浏览器不兼容,尽管幸运的是有许多“历史/远程插件”可用- 多年来,我们首选使用的是 **jQuery History ,它是开源的,得到了大力支持并正在积极开发: -)。
虽然,当要在Facebook,WBHomes和Balupton.com等网站中添加AJAX功能时,您将开始面临一系列严重的难题!(我知道我是最后两个站点的首席架构师!)。其中一些问题是:
我知道的唯一一个尝试解决所有这些极其困难的问题的开源,可靠项目已被证明是 jQuery Ajaxy 。它实际上是对前面提到的jQuery History项目的扩展,它提供了一个优雅的高级界面来向混音中添加AJAX功能,以解决幕后的难题,因此我们不必担心。它也是前面提到的最后几个商业站点中使用的选定解决方案。
祝您好运,如果您还有其他问题,请对此答案发表评论,我将尽快解决:-)
更新:现在有不推荐使用HTML4hashchange功能的HTML5历史记录API(pushState,popState)。History.js现在是jQuery History的前身,并为HTML5 HistoryAPI提供了跨浏览器的兼容性,并为HTML4浏览器提供了可选的 hashchange备用。jQuery Ajaxy将针对History.js进行升级
hashchange