我建立了一个网站,专注于仅加载必须加载的数据。
我在这里构建了一个示例,想知道这是否是构建wegpage的好方法。
建立类似的网站时会遇到一些问题,例如
所以这是例子:
index.html
<html>
<head>
<title>Somebodys Website</title>
<!-- JavaScript -->
<script type="text/javascript" src="jquery-1.3.2.min.js"></script>
<script type="text/javascript" src="pagecode.js"></script>
</head>
<body>
<div id="navigation">
<ul>
<li><a href="#" class="nav" id="link_Welcome">Welcome</a></li>
<li><a href="#" class="nav" id="link_Page1">Page1</a></li>
</ul>
</div>
<div id="content">
</div>
</body>
</html>
pagecode.js
var http = null;
$(document).ready(function()
{
// create XMLHttpRequest
try {
http = new XMLHttpRequest();
}
catch(e){
try{
http = new ActiveXObject("MS2XML.XMLHTTP");
}
catch(e){
http = new ActiveXObject("Microsoft.XMLHTTP");
}
}
// set navigation click events
$('.nav').click(function(e)
{
loadPage(e);
});
});
function loadPage(e){
// e.g. "link_Welcome" becomes "Welcome.html"
var page = e.currentTarget.id.slice(5) + ".html";
http.open("POST", page);
http.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
http.setRequestHeader("Connection", "close");
http.onreadystatechange = function(){changeContent(e);};
http.send(null);
}
function changeContent(e){
if(http.readyState == 4){
// load page
var response = http.responseText;
$('#content')[0].innerHTML = response;
}
}
Welcome.html
<b>Welcome</b>
<br />
To this website....
如您所见,我正在基于导航部分中的链接ID加载内容。因此,要使“Page1”导航项可链接,我将不得不创建一个包含某些内容的“Page1.html”文件。
这种为网页加载数据的方式是否非常错误?如果是这样,还有什么更好的方法呢?
谢谢你的时间
编辑:
这只是一个非常简短的示例,我想说的是,对于禁用了javascript的用户,仍然有可能以静态形式(另外)提供整个页面。
例如
<li><a href="static/Welcome.html" class="nav" id="link_Welcome">Welcome</a></li>
并且此Welcome.html将包含基本index.html文件的所有开销。
这样,使用页面版本的Ajax会具有某种额外的功能,不是吗?
最佳答案
不,这不是一个好方法。
Ajax是最适合轻触的工具。
使用它重新构造框架只会重新创建所有the problems of frames,除了它用对搜索引擎(以及不支持JS或已禁用JS的其他使用代理)完全不可见的孤立页面替换问题页面。
不会。用户不会注意到,您会破坏书签,链接共享等功能。