我正在尝试创建一个完整的基于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