Language agnostic 如何制作一个看起来不';重新加载';
我在看这个网站 我也看过其他类似的网站 该页面提供了许多过滤器,例如:价格范围、受欢迎程度等。但当执行这些过滤器时,似乎只加载了网页的某个部分,而不是整个页面。这似乎没有使用ajax,因为它将整个请求发送回服务器(search.php页面) 它似乎没有使用本页中提到的技术,他们只是编辑CSS以不显示某些链接Language agnostic 如何制作一个看起来不';重新加载';,language-agnostic,Language Agnostic,我在看这个网站 我也看过其他类似的网站 该页面提供了许多过滤器,例如:价格范围、受欢迎程度等。但当执行这些过滤器时,似乎只加载了网页的某个部分,而不是整个页面。这似乎没有使用ajax,因为它将整个请求发送回服务器(search.php页面) 它似乎没有使用本页中提到的技术,他们只是编辑CSS以不显示某些链接 我很好奇这是怎么回事。有什么想法吗?它只是很快重新加载。整个页面上没有任何Javascript。HTML格式良好,页面非常简单。如果您想了解情况,请执行以下操作: 如果尚未使用firefox
我很好奇这是怎么回事。有什么想法吗?它只是很快重新加载。整个页面上没有任何Javascript。HTML格式良好,页面非常简单。如果您想了解情况,请执行以下操作:
它可能通过Ajax请求新数据,填充一个隐藏的
元素,然后用隐藏的元素替换可见的
。它可能使用Javascript XMLhttprequest。Facebook和许多其他网站都使用这一功能。它在不重新加载整个页面的情况下访问服务器
以下是w3schools.com上的一个示例:
<script type="text/javascript">
var xmlhttp;
function loadXMLDoc(url)
{
xmlhttp=null;
if (window.XMLHttpRequest)
{// code for all new browsers
xmlhttp=new XMLHttpRequest();
}
else if (window.ActiveXObject)
{// code for IE5 and IE6
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
if (xmlhttp!=null)
{
xmlhttp.onreadystatechange=state_Change;
xmlhttp.open("GET",url,true);
xmlhttp.send(null);
}
else
{
alert("Your browser does not support XMLHTTP.");
}
}
function state_Change()
{
if (xmlhttp.readyState==4)
{// 4 = "loaded"
if (xmlhttp.status==200)
{// 200 = OK
// ...our code here...
}
else
{
alert("Problem retrieving XML data");
}
}
}
</script>
var-xmlhttp;
函数loadXMLDoc(url)
{
xmlhttp=null;
if(window.XMLHttpRequest)
{//所有新浏览器的代码
xmlhttp=新的XMLHttpRequest();
}
else if(window.ActiveXObject)
{//IE5和IE6的代码
xmlhttp=新的ActiveXObject(“Microsoft.xmlhttp”);
}
if(xmlhttp!=null)
{
onreadystatechange=状态变化;
open(“GET”,url,true);
xmlhttp.send(空);
}
其他的
{
警报(“您的浏览器不支持XMLHTTP。”);
}
}
函数状态_Change()
{
if(xmlhttp.readyState==4)
{//4=“已加载”
if(xmlhttp.status==200)
{//200=OK
//…我们的代码在这里。。。
}
其他的
{
警报(“检索XML数据时出现问题”);
}
}
}
除了快速加载之外,浏览器优化和缓存可能还起到了作用。我让它看起来像是通过交替刷新页面和点击链接加载了几次页面
刚在IE中试用过,每次点击我都能看到一个可见的重新加载。在Chrome中,它看起来没有任何刷新,我猜是因为浏览器优化。我知道在Chrome中,如果你在两个具有相同内容的选项卡之间切换,它甚至不会重新绘制任何内容。我在该页面上看不到任何不需要我登录的内容。对不起,我不知道你想用Bountii链接显示什么,我点击的所有内容都会重新加载一整页。我会被诅咒的。我认为页眉部分仍然没有重新加载好吧,你可以想你喜欢的任何东西,只要你不关心是否正确。整个页面将重新加载bit并没有发送任何XHR请求,所以我猜它正在进行一个完整的页面加载,如果你只看源代码,你可以清楚地看到情况并非如此。在这里进行猜测是没有意义的。他给出的例子可能不是这样,但这是一种通过重新加载整个页面来让页面重新加载部分的方法