ユーザーフローインターフェイスのようなTwitterを実装したい、つまり、ユーザーが
http://twitter.com/#!/abc
ページに移動するとロードされます。私はこれを実装しようとしました:
http://forum.abhibhatia.co.cc/ajax/
私がやろうとしているのは、ページが読み込まれるとすぐに、URL が「#!/」で分割され、2 番目の部分が読み込まれるのでhttp://forum.abhibhatia.co.cc/ajax/posts.php
、http://forum.abhibhatia.co.cc/ajax/#!/posts.php
. 私が直面している問題は、ページを使用してユーザーをリダイレクトした後、ページが変更されwindow.location
ないことです。ユーザーをリダイレクトする他の方法はまだ試していません。使用されるJavaScript関数は次のとおりです。
function geturl(){
var url=window.location.toString();
var a=url.split("#!/");
if(a.length==1)
a[1]='data.php';
return a[1];
}
function fetchPage(){
var url=geturl();
var xmlhttp;
if (url.length==0&&m==1)
{ url='data.php';
return;
}
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==1) document.getElementById("data").innerHTML="Loading...";
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
var file=xmlhttp.responseText;//alert(file);
var contents=file.split("<head>");//alert(contents[0]);
var useable=contents[1].split("</head>");
var head=useable[useable.length-2];//alert(head);
var body=useable[useable.length-1].split("</body>");
document.getElementById("data").innerHTML=body[0];
document.head.innerHTML=document.head.innerHTML+head;
//document.getElementById("data").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET",url,true);
xmlhttp.send();
}
fetchPage();