【问题标题】:How do use HTML5 History Api on my Website? [closed]如何在我的网站上使用 HTML5 History Api? [关闭]
【发布时间】:2015-05-10 11:02:41
【问题描述】:

我是一个初学者,对编程还很陌生(所以请尽量让你的答案简单)。

我刚听说HTML5历史API,这个API可以让你用JavaScript更新浏览器地址栏,这样你就可以根据URL改变页面的内容。 (我不知道该怎么做)

我目前使用 XAMPP 作为 localhost,phpmyadmin 作为数据库,并使用 Notepadd++ 作为文件编辑器,在 Google Chrome 上查看和测试我的网站。

我的问题是,我如何使用这个新的 HTML5 History API,以便我的 3 个 php 文件在最多使用纯 PHP 或 javascript 在页面之间导航时无缝工作。 我能给出的最好的例子就是 soundcloud 在页面之间导航时如何无缝播放音乐。

我希望我的 'header'、'Vis1' 和 'Vis' php 文件在页面之间导航时能够无缝地工作(这些页面已列出)。

我希望在导航时无缝处理的文件:

目录:i-neo\htdocs\i-neo\inc..

   <?php include ( "./inc/header.inc.php" );?>
   <?php include("./inc/vis1.inc.php");?>
   <?php include("./inc/vis.inc.php");?>

这些相同的 3 个文件都包含在以下 php 页面中:

目录:i-neo\htdocs\i-neo\

 'home.php, index.php,  msmyg.php, prof.php, nudg.php & frireq.php'

代码如下:vis1.inc.php

<!doctype html>
<html>
<head>
    <div id="vinfo">
        <meta name="description" content="blah">
        <title>blah</title>
        <link type="text/css" rel="stylesheet" href="style/style.css">
           <div id="wrapper">
                <div id="fileWrapper" class="file_wrapper">
                    <div id="info">
                    </div>
                        <label for="uploadedFile">
                        Drag & drop
                        </label>
                    <input type="file" id="uploadedFile">
                    </input>
                </div>
            </div>
        </div>
    </head> 
</html>

代码:vis.inc.php

<!doctype html>
<html>
    <footer>
        <link type="text/css" rel="stylesheet" href="style/style.css">
            <div id="v_wrapper">
               <canvas id='canvas' width="1950" height="800"><script            
                 type="text/javascript" src="js/hav.js"></script>             
                   </canvas>
                    </div>
             <div id="c2">
                <small>random info<a href="website name"      target="_blank">website name - Owner</a></small>
            </div>
      </footer>
</html>

代码:header.inc.php

<?php 
   include ("./inc/connect.inc.php"); 
   session_start();
   if (isset($_SESSION['user_login'])) {
   $user = $_SESSION["user_login"];
   }
   else {
   $user = "";
   }
   ?>
   <!doctype html>
   <html>
    <head>
        <title>i-neo</title>
        <link rel="stylesheet" type="text/css" href="./css/style.css"/>
    <script src="js/main.js" type="text/javascript"></script>
    </head>
   <body>
       <div class="ineoMenu">
        <div id="ineoWrapper">
            <div class="logo">
                <img src="./img/i-neo.png" />
            </div>
            <div class="search_ineo">
                <form action="search.php" method="GET" id="search">
                    <input type="text" name="q" size="50"
 placeholder="Search" .../>
                </form>
            </div>
        </div>


        </div>

        <?php

        if (isset($_SESSION["user_login"])) 
        {
        echo '
            <div id="menu">
                <a href="home">Home</a>
                <a href="'.$use.'">Prof</a>

                <a href="set.php">Set</a>
                <a href="msmyg.php">Me</a>

                <a href="frireq.php.php">Fr</a>
                <a href="nudg.php">Nudg</a>
                <a href="logout.php">Logout</a>

            </div>
            ';
        } 
        else{

            echo'<div id="menu">
            <a href="index.php"/>S</a>
            <a href="index.php">L </a>
            </div>  
        ';
        }
        ?>

        <div id="wrapper">
</html>     
<footer>
    <div id="c1">           
        <?php echo "Hedi Bej &copy; i-neo 2015"; ?>
    </div>
</footer>

【问题讨论】:

  • "phpmyadmin as database" - phpmyadmin 不是数据库,而是 mysql 的管理工具。
  • 你知道我的意思...

标签: javascript php html history


【解决方案1】:

您的每个 PHP 页面都会呈现一个完整的网页,因此您最好只使用它们之间的普通链接。

您可以删除所有相同的部分,让主页呈现这些部分,然后当按下内部链接时,它可以从您的服务器下载相关部分并将其插入页面(使用历史 API更新网址)。您还希望通过某种方式让服务器在点击链接后完整呈现适当的页面,可能通过使用某种服务器端路由。

在我看来,您似乎还不需要使用 History API,您的网站可以使用超链接正常工作。

【讨论】:

  • 不,我想使用 History API,这样我刚才提到的 3 个 php 文件在浏览网站时不会不断刷新。就像 soundcloud 音乐播放器一样,我希望它在浏览网站时无缝运行……这就是我的目标。为什么我的问题被搁置?我相信我要求一个简单易用的解决方案,以便我的 3 个 php 文件在导航时以某种方式无缝工作。我相信这是足够狭窄和简单的。我想要一个有效的答案,无论它有多短/多长,无论哪种方式都无关紧要。只要给我 1 个有效的答案@ThiefMaster...
  • 我在回答中描述了一种您可以做到的方法,也许可以试试?或者看看其他人是如何做到的,也许可以阅读 soundcloud JavaScript。
猜你喜欢
  • 2011-04-30
  • 2015-08-28
  • 2014-04-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多