在我看来,Twitter 不能在禁用 javascript 的情况下工作。
我用我创建的这段代码取得了成功:
在 index.php 中
<?php
if (!isset($_SESSION)) session_start();
$url = !isset($_SESSION['ajaxpage']) ? '' : $_SESSION['ajaxpage'];
$_SESSION['ajaxpage'] = '';
if (!isset($_GET['noscript'])) echo '<noscript><meta http-equiv="refresh" content="0; URL=/'.$url.'?noscript=1" /></noscript>';
?>
在每个 php 文件中我调用 _head.php 包含:
<?php
if(!isset($_GET['ajax'])){
if (!isset($_GET['noscript'])){
if (!isset($_SESSION)) session_start();
$_SESSION['ajaxpage'] = $ajax_page;
header('Location: /#!/'.$ajax_page);
} else {
// normal functions, requires... of all pages
}
}
?>
在每个 php 文件中,我都有带有页面链接的 var,例如:
<?php
$ajax_page = '/contact/'; //change this for each page
include_once('_head.php');
?>
所以,就是这样!
每个 ajax 加载,请加入 '?ajax' 到 url,比如:
$("body").delegate("a", "click", function(event){
var lnk = $(this).attr("href");
var addAjax = lnk.indexOf('?')>0 ? "&ajax" : "?ajax";
$("#content").load("/"+lnk+addAjax);
});