gpt4 book ai didi

javascript - 基于 ajax 的网页 - 这样做的好方法?

转载 作者:太空宇宙 更新时间:2023-11-04 13:37:21 24 4
gpt4 key购买 nike

我建立了一个专注于只加载必须加载的数据的网站。我在这里构建了一个示例,想知道这是否是构建网页的好方法。构建这样的站点时存在一些问题,例如

  • 书签
  • 来回走动
  • 历史 SEO(因为内容基本上没有真正联系起来)

下面是例子:

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>

页面代码.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;
}
}

欢迎.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 或禁用它的代理)替代了孤立页面的问题。

By doing so, the ajax using version of the page would be some kind of extra feature, wouldn't it?

没有。用户不会注意到,而您破坏了书签、链接共享等。

关于javascript - 基于 ajax 的网页 - 这样做的好方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1470844/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com