我正在嘗試創建一個完整的基於Ajax的網站。現在我只是研究它是如何工作的。我認爲最好的例子是Twitter。 Twitter在沒有啓用JavaScript的情況下會執行某些操作,但我無法找出如何操作。當你禁用JavaScript並轉到twitter,'?_twitter_noscript = 1'被追加到URL。任何想法他們如何做到這一點?如何禁用Javascript時重定向(如新的Twitter佈局)
親切的問候,
大安
我正在嘗試創建一個完整的基於Ajax的網站。現在我只是研究它是如何工作的。我認爲最好的例子是Twitter。 Twitter在沒有啓用JavaScript的情況下會執行某些操作,但我無法找出如何操作。當你禁用JavaScript並轉到twitter,'?_twitter_noscript = 1'被追加到URL。任何想法他們如何做到這一點?如何禁用Javascript時重定向(如新的Twitter佈局)
親切的問候,
大安
Twitter禁用Javascript時使用元刷新。
我發現在http://www.twitter.com源下面的代碼時,使用Javascript功能:
<noscript>
<meta http-equiv=refresh content="0; URL=/?_twitter_noscript=1" />
</noscript>
注:http://twitter.com/?_twitter_noscript=1來源不會有這樣的代碼
他們有自己的註冊表格上的隱藏輸入:
<input id="redirect_after_login" name="redirect_after_login" type="hidden" value="/?_twitter_noscript=1" />
啓用腳本,即變爲:
<input id="redirect_after_login" name="redirect_after_login" type="hidden" value="/" />
所以我的假設是他們有一些JavaScript改變了輸入的價值。
...當JS啓用。 – 2011-02-16 18:12:08
我,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);
});
我看不到JS禁用的行爲。 – 2011-02-16 18:11:33
馬特,你登錄了嗎? – Jeff 2011-02-16 18:15:51