Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 根据用于访问域的URL更改页面内容_Javascript_Jquery - Fatal编程技术网

Javascript 根据用于访问域的URL更改页面内容

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>

例如:我的网站是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>
类别

运动
我可以将页面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推送到浏览器的历史记录中(以跨浏览器兼容的方式),而无需实际刷新页面

因此,您的方法如下

  • 列表项
  • 加载时,获取window.location以获取“运动”
  • 将www.mydomain.com推到历史堆栈上(使用history.js)
  • 将h1改为“运动”

  • 这种方法的唯一问题是,如果有人试图为页面添加书签,那么它将不是他们上次导航到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>