【问题标题】:History API in html5html5 中的历史 API
【发布时间】:2015-01-09 13:45:41
【问题描述】:

在history API中,我可以使用pushState()作为标签结构,根据点击的标签显示不同的内容。

当(点击tab2时,url变为http://localhost/mysite/tab2

但是当我为这个网址添加书签然后打开这个书签时,它会显示这个错误:

在此服务器上找不到请求的 URL。如果您手动输入了 URL,请检查您的拼写并重试。如果您认为这是服务器错误,请联系站长。

错误 404 本地主机

Apache/2.4.10 (Win32) OpenSSL/1.0.1i PHP/5.5.15

可以采取什么解决方法来启用书签?

PS:我读过关于 hashbang 技术的文章,但现在这种趋势正在退化。所以不想用hashbang。

【问题讨论】:

  • 那么......你得到什么错误?如果没有任何错误或代码,就不可能给出任何有意义的建议...您应该同时发布错误和代码。
  • 我收到此错误:找不到对象!在此服务器上找不到请求的 URL。如果您手动输入了 URL,请检查您的拼写并重试。如果您认为这是服务器错误,请联系网站管理员。错误 404 localhost Apache/2.4.10 (Win32) OpenSSL/1.0.1i PHP/5.5.15
  • 在这个问题中,我不是要求调试错误,而是要求解决使用 HTML5 历史 API 到书签页面的工作......所以这个问题并没有偏离轨道
  • 问题是, 非常离题,因为我根本不知道问题可能是什么。通过您添加的错误,我很清楚问题出在哪里:即您的服务器端代码无法识别新 URL。
  • 这与我得到的错误无关,因为当我通过 pushState 函数在浏览器中操作 url 时,这些 url 在实际中不会存在。所以无法添加书签。但是在 hashbang 中做了一些事情来使实际中不存在的 url 可收藏。所以我问这个问题的唯一目的是书签是否可以使用历史 API 完成??

标签: javascript html html5-history


【解决方案1】:

鉴于您使用的是 Apache,您需要创建一个 .htaccess 文件以将所有请求重定向到您的第一页(我假设为 index.html)。这样,任何传入服务器的请求都会路由到您的 index.html 页面,然后您可以使用该页面根据 URL 显示正确的内容。这就是现代 Web 框架路由的工作原理。

【讨论】:

    猜你喜欢
    • 2017-11-25
    • 1970-01-01
    • 2012-05-21
    • 1970-01-01
    • 2012-01-28
    • 2023-03-19
    • 2018-03-07
    • 2016-07-01
    • 2015-10-29
    相关资源
    最近更新 更多