我正在使用ajax导航构建一个网站,因此每次用户想要查看另一个页面时,整个网站都不需要加载。家庭,关于,新闻,联系等...
我确实构建了它,url
刷新,后退按钮,一切正常
但我有以下问题。
Compartilhar /刷新:
当我刷新页面或与某人分享链接时,网站无法正常加载。它只加载该站点的特定部分。示例:如果我共享链接mysite.com/about.php
,它将仅加载该页面的文本,而不包含主布局中的页眉,页脚和其他公共元素。也没有css
。
如果我在其他页面中刷新页面,也会发生同样的事情。
我尝试按照tutorial here进行操作,但它并没有加载任何内容。请给我一个空白。
我在下面的代码正在运行,但是我已经解决了上述问题。
Jquery代码:
$(document).ready(function() {
var content = $('#site'),
firstLink = $(".navbar li:first-child a").attr("href"),
navLink = $(".navbar li a");
content.load(firstLink); //default load
navLink.on("click", function(event){
event.preventDefault();
event.stopImmediatePropagation();
var newLink = $(this).attr("href");
History.pushState(null, newLink, newLink);
$(".active").removeClass("active");
$(this).addClass("active");
content.load(newLink, function () {
FB.XFBML.parse();
});
});
History.Adapter.bind(window, "statechange", function() {
$(".active").removeClass("active");
$("a[href='" + History.getState().title + "']").addClass("active");
content.load(document.location.href);
});
});
网站结构代码:
<head>
<script type="text/javascript" src="js/jquery.js"></script>
<link rel="stylesheet" type="text/css" href="css/main.css" />
</head>
<body>
<header>
<!-- more code in here -->
</header>
<nav class="navbar">
<div class="container">
<ul>
<li><a class="active" href="/content/home.php">Home</a></li>
<li><a href="/content/services.php">Services</a></li>
<li><a href="/content/people.php">People</a></li>
<li><a href="/content/about.php">About us</a></li>
<li><a href="/content/news.php">News</a></li>
<li><a href="/content/contact.php">Contact</a></li>
</ul>
</div>
</nav>
<div id="site"></div>
<footer>
<!-- more code in here -->
</footer>
<script type="text/javascript" src="js/history.js"></script>
<script type="text/javascript" src="js/scripts.js"></script>
</body>
答案 0 :(得分:0)
Cookie方式:
但
示例:
1。我请求services.php,请求Cookie X 。服务器将只发送services.php
2. 我请求services.php和没有cookie X 。服务器将发送index.php,在index.php中你可以创建和包含services.php,如:
//some html
if (!$_COOKIE["some_cookie_name"]) {
include_once("the_page.php");
}
//more html
3. 如果我请求/
,服务器将只发送index.php
如果你从URL的参数中做一个包含,那么请注意他们可以输入什么以及你用它做什么。
javascript(jQuery)方式:
#yourdiv
的内容为空 - >&gt;对services.php执行ajax调用。/
或div #yourdiv
的内容不为空 - >&gt;什么都不做。javascript(jQuery)+ Cookie方式:
希望有所帮助