用a标签访问后台,返回一段代码片段,或者干脆新打开一个页面。那种方法好?
发布网友
发布时间:2022-04-26 18:28
我来回答
共3个回答
热心网友
时间:2023-10-21 00:33
我建议这样子:保留已经实现的,另外再加个显示内容的页面即可。
首先,生成这个文章列表,href 也是实际文章链接,点击链接会打开页面显示文章内容。
然后,添加 JS 代码,绑定事件处理函数,ajax 请求的 url 可以直接获取链接的 href,如
文章列表页面 news.php
<a href="news_item.php?id=1" target="_blank" class="news-title">文章标题1</a>
<a href="news_item.php?id=2" class="news-title">文章标题2</a>
<script>
// 假设使用 jQuery
$(document.body).on( 'click', '.news-title', function(){
// 通过 ajax 获取文章内容并显示
// 直接将 a 的链接作为请求的 url。
var $this = $(this), url = $this.attr('href');
$.ajax({
url: url // 当然,可以对 url 进行处理,根据自己需要进行构建
// code ...
});
return false; // 禁止链接的默认行为,对于浏览者而言,不会另外打开页面了
});
</script>
另外应该还需要一个显示内容的页面 news_item.php
对于通过浏览器来浏览页面的用户而言,他点击文章标题不会另外打开页面看内容,而是会通过 ajax 的方式获取文章内容显示在页面右侧,即他会一直在 news.php 页面
对于搜索引擎而言,打开 news.php,它不会执行 js,而是解析出一个个文章链接后,会去爬这些文章的页面(news_item.php),这样子,文章内容就可以被收录了。
最后,分页的链接也要处理下。处理的方式是类似的,如:
文章列表页面 news.php
<a href="news.php?paged=1" class="page">1</a>
<a href="news.php?paged=2" class="page">2</a>
<a href="news.php?paged=3" class="page">3</a>
<script>
$(document.body).on( 'click', '.page', function(){
var $this = $(this), url = $this.attr('href');
$.ajax({
url: url,
success: function() {
// 列表的刷新
// 页码栏的刷新
}
});
return false;
});
</script>
对于搜索引擎而言,它会一个个爬过来 news.php?page=1, news.php?page=2,... 等等。
热心网友
时间:2023-10-21 00:33
感觉不会影响SEO吧 (T_T我不懂SEO)
如果要用<a href 的方式的话,
可以把右侧区域改为IFrame,
点击链接之后把href给IFrame的src即可。
例子如下
<ul>
<li><a href="" target="iframe_a"><span></span></a></li>
</ul>
<iframe src="" frameborder="0" scrolling="auto" height="842px" name="iframe_a" style="float:right;width:67%;"></iframe>
热心网友
时间:2023-10-21 00:34
想要SEO 可以使用模板导入