【问题标题】:Change address bar on page load Ajax/jQuery在页面加载 Ajax/jQuery 时更改地址栏
【发布时间】:2014-03-20 08:06:15
【问题描述】:

我在访问我的网站时加载了一个 PHP 索引文档,在地址栏中它没有显示预期的 www.samplewebpage.com/index.php,但它只显示 www.samplewebpage.com。我正在使用依赖于该 url 扩展的后台脚本,例如www.samplewebpage.com/index.php?page=index 但这并没有按预期工作,因为没有 /index.php 可以将该“变量”添加到。

我已经环顾了一段时间,但只发现了诸如如何检测页面加载和如何更改页面 url 之类的东西,但不是它们都在一个脚本中。我不确定这是否是 Ajax 和 jQuery 的混合体,因为我还不是很喜欢这些,但我希望能得到一些帮助。

所以我想知道如何在加载索引页面时更改 url,我得到了一个应该可以工作但不能正常工作的脚本。

<script type="text/javascript">
    $(document).ready(function (){
        history.pushState("", "", "www.mysamplepage.net/index.php/?page=index");
    });

</script>

注意:该链接不是实际网站,仅用于演示目的。

编辑: 好吧,要解决最初的问题,我只需要在脚本之前添加一行:

但是 pushState 是如何工作的呢?我想在页面加载时添加“/foler/index.php/?page=index”,前提是那里还没有 index.php

【问题讨论】:

标签: php jquery ajax url


【解决方案1】:

这个测试脚本对我来说很好用。我的假设是你没有加载 jquery:

<html>
<head>
<title>ok</title>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
</head>
<body>

test

<script type="text/javascript">
    $(document).ready(function (){
        history.pushState("", "", "www.mysamplepage.net/index.php/?page=index");
    });
</script>
</body>
</html>

【讨论】:

  • 嗯,这似乎已经解决了脚本没有运行的问题。但它没有做我想要的。我只想添加 /index.php/?page=index 仅当它不存在时,该代码不知道。
  • ... history.pushState("", "", "index.php/?page=index");
  • 如果我这样做,那么每次我刷新它都会添加另一个 /index.php/ 并在几次刷新后变成一个非常长的地址
  • 抱歉:/您是否有理由要求 url 说出特定客户端的内容?
  • 我正在运行一个脚本,它读取 ?page=index 的值,并根据它将一些内容加载到页面,但是当我意识到脚本没有看到它没有看到的变化时t 真的很重要,因为 /index.php/?page=index 会在我更改页面后立即出现。如果没有要加载的页面变量,我只需将所有内容默认返回索引即可。还是谢谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-08-23
  • 1970-01-01
  • 2016-06-08
  • 2020-06-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多