Javascript 根据用于访问域的URL更改页面内容
例如:我的网站是www.mydomain.com 页面上唯一的内容是Javascript 根据用于访问域的URL更改页面内容,javascript,jquery,Javascript,Jquery,例如:我的网站是www.mydomain.com 页面上唯一的内容是 <h1>Category</h1> 类别 当用户键入url www.mydomain.com/sports时,我希望加载页面www.mydomain.com(有或没有/sports路径,最好始终保持相同的url),并知道用户使用url www.mydomain.com/sports访问页面 在这一点上,我可以使用javascript进行更改 <h1>Category</h1>
<h1>Category</h1>
类别
当用户键入url www.mydomain.com/sports时,我希望加载页面www.mydomain.com(有或没有/sports路径,最好始终保持相同的url),并知道用户使用url www.mydomain.com/sports访问页面
在这一点上,我可以使用javascript进行更改
<h1>Category</h1>
类别
到
运动
我可以将页面www.mydomain.com/sports重定向到www.mydomain.com,但在执行此操作时,URL会发生变化,并且我无法检测最初使用javascript导航到那里(www.mydomain.com/sports)的页面URL:因为它返回的新页面URL没有路径
我希望有一个非PHP/.htaccess的解决方案
更新:
我求助于使用htaccess来解决问题,这比预期的要容易实现
这是我用以防其他人发现这有用的东西
.htaccess文件(上传到您希望使用它的站点上的目录,在我的示例中,该目录将是主目录)
重新启动发动机
RewriteBase/****从/查找根目录开始
重写规则^(/sports | sports/)$index.html[NC,L]****如果扩展名为mydomain.com/sports或mydomain.com/sports,请从URL查找并清除index.html/
看看这个插件。
History.js
此插件允许您将新URL推送到浏览器的历史记录中(以跨浏览器兼容的方式),而无需实际刷新页面
因此,您的方法如下
这种方法的唯一问题是,如果有人试图为页面添加书签,那么它将不是他们上次导航到URL时遇到的内容。但是,这可能是您在问题中提出的要点。您的服务器端代码应该使用添加一个setCookie头,该头具有您要显示的类别的值。然后您的javascript代码可以获取cookie并适当设置字段。您可以通过使用查询字符串、cookie、会话存储来实现这一点,但最好的解决方案是使用.htaccess directives。您可能是对的,虽然目前我正在寻找一个更熟悉的解决方案,因为我对htaccess不太了解,可能会在试图让它发挥作用时不知所措。谢谢,我想这或多或少就是我想要的。我会试试看。我认为书签很管用,至少他们网站上的演示是这样的:
<h1>Sports</h1>
<ifModule mod_rewrite.c>
RewriteEngine On
RewriteBase / ****start at/find the root directory
RewriteRule ^(/sports|sports/)$ index.html [NC,L] ****find and clear index.html from URL if the extension is mydomain.com/sports or mydomain.com/sports/
</ifModule>