【问题标题】:PHP Include to change DIV contents but hold contents on refreshPHP 包含更改 DIV 内容但在刷新时保留内容
【发布时间】:2014-03-20 22:50:34
【问题描述】:

我正在为 Uni 模块创建一个非常基本的站点,目前有一个简单的 onClick Javascript 用于更改主要内容 DIV 的内容。简单脚本调用 PHP 包含文件来填充 DIV。

HTML

<div id="content" class="colorPicker1">
<!--Populate content div on load-->
<?php include 'php/home.php' ?>
</div>

<a href="winInstall.html" onClick="$('#content').load('php/winInstall.php'); return false;" title="Windows only installation">Windows 7/8</a>

我遇到但无法弄清楚的问题是,当我刷新页面时,无论它在哪个页面上,站点都会返回到 home.php 文件。我知道这会发生,因为我在 index.html 文件中调用 home.php 文件。

我的问题是如何在刷新期间保存当前的 php 文件?

我正在考虑使用 localStorage 来保存正在使用的链接,但我的尝试没有奏效。有人可以请给我一些指导。

提前干杯,

眨眼

【问题讨论】:

标签: javascript php html ajax


【解决方案1】:

不使用 cookie 或 localStorage,如何更改哈希?

<a href="winInstall.html" class="ajax-link" title="Windows only installation">Windows 7/8</a>
<script>
(function ($) {
    var load_page = function (path) {
        location.hash = '#'+path;
        $('#content').load('php/'+path.replace('.html', '.php'));
    };

    $('.ajax-link').click(function (v) {
        v.preventDefault();
        load_page($(this).attr('href'));
    });

    if (location.hash && location.hash != '#') {
        load_page(location.hash.substr(1));
    }
})(jQuery);
</script>

【讨论】:

  • 为答案干杯,但是,我正在尝试这个建议,它似乎只是将“#php/winInstall.php”放在地址栏中 index.html 的末尾。它不会改变页面。
  • 如果哈希值发生变化,则意味着 load_page 正在被调用,因此 .load 部分存在问题。打开控制台并检查错误。另外,请尝试console.log('php/'+path.replace('.html', '.php')); 以确保这是相对于您的页面的正确路径并且那里存在文件。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-28
  • 1970-01-01
  • 2013-06-25
  • 1970-01-01
  • 2017-07-14
相关资源
最近更新 更多