这是我的第一个问题..所以,我们走了。
我有一个网站,100%xhtml / css,带有一些ajax函数,这要归功于jquery。
问题是..对于所有“子页面”..网址保持不变(index.php)..
我的问题是......
jquery是否允许某些url参数触发特定的函数?
示例: www.mypage.com - >主页..如果我点击..让我们说产品..网址将是相同的..如果我尝试将网址发送给朋友(复制和粘贴),它将是www.mypage.com ..所以..如果我的朋友点击链接,他将被重定向到主页而不是产品页面,这是我想与他分享的部分。
无论如何设置网址如www.mypage.com?s=products触发jquery事件而不使用php?
提前感谢。
答案 0 :(得分:2)
jquery querystring plugin提供了一种解析查询字符串的简便方法。
答案 1 :(得分:2)
听起来我想要在不重新加载页面的情况下更改查询字符串。这是不可能的。您可以做的是更改网址的#anchor部分,因此您的ajax链接会将位置设置为mysite.com/#products,然后使用jquery在加载时检测并采取相应的行动。
答案 2 :(得分:2)
通常,AJAX应用程序中的虚假页面会通过在#
之后添加内容来更改查询字符串,例如www.mypage.com/#products
。如果您尝试在JavaScript中将URL更改为其他URL,则浏览器将重定向到该页面。但是,如果更改在#
之后,它将保留在页面上(并尝试将具有该ID的元素放在浏览器窗口的顶部)。
因此,您可以尝试使用以下JavaScript来设置网址:
window.location.hash = 'products';
然后,您可以在加载页面时查找,以便了解要检索的页面。
还有一些现成的JavaScript库可以帮助您在这些场景中正确运行历史记录,但我不太了解推荐特定的库。
答案 3 :(得分:2)
http://blog.rebeccamurphey.com/2007/12/04/anchor-based-url-navigation-with-jquery/
从未这样做,但这个网站有非常简单的方法。
基本上,您为每个逻辑页面指定一个锚标记,并在用户导航到该逻辑页面时相应地更新URL。
当新用户到达时,您解析查询字符串(如上所述),然后执行适当的导航操作。
答案 4 :(得分:1)
有很多插件可用于此类功能。找到它们的关键词是“历史”