2017-09-25 64 views
0

我看到了下载链接的选项,但没有找到那里的所有链接的自动下载。jquery或香草javascript的自动加载(jquery加载)页面中的所有链接内容

我需要自动加载,使用jquery加载或ajax或http请求或loadPageSection并不重要。任何选项都很好。

首先我想出了每个链接上最简单的点击仿真。

$(function() { 
    document.querySelector('.className').click(); 
}); 

$("a").click(function() { 
    $("#pageLoad").load($(this).attr("href")); 
    return false; 
}); 

但是,它作为一个重定向,重定向到第一页。 接下来,我更换了点击每个(function(),一切正常,但到现在为止只在第一页加载

<script src="http://code.jquery.com/jquery-latest.js"></script> 
<script> 
$(function() { 
    $('a').each(function() { 
    $(".pageLoad").load($(this).attr('href')); 
    }); 
}); 
</script> 
<table align="center"> 
    <tr><td> 
    <a href="test.html" class="className">first</a> 
    <div class="pageLoad"></div></td><td> 
    <a href="test1.html" class="className">second</a> 
    <div class="pageLoad"></div></td><td> 
    <a href="test.html" class="className">third</a> 
    <div class="pageLoad"></div></td></tr> 
</table> 

这是必要的,所有的页面加载。在每个<a href 理想情况下,不应该有一个<div class = "pageLoad">和所有应自动添加生成一个div和可能添加为孩子。

而最重要的是,jQuery可以使用load ('test.html #target');下载所需的元素,现在该怎么做?

$(". pageLoad").load($ (this #target).attr ('href'));不起作用?

如何在这种情况下下载所需的片段?

最后一项:如果在加载的页面中也有链接,会不会有问题?现在,虽然所有加载1次没有问题。

需要为页面上的所有链接加载链接的内容一次。

这些问题的解决方案对我来说太复杂了。

更新:

<script> 
$.ajaxSetup({ 
'beforeSend' : function(xhr) { 
xhr.overrideMimeType('text/html; charset=windows-1251'); 
}, 
}); 

$(function() { 
$('a').each(function() { 
$(this).parent().find(".pageLoad").load($(this).attr('href') + ' #inf-1751'); 
}); 
}); 
</script> 

予固定的编码的显示。 最后一个问题是在元素上使用锚点。如果您只添加 锚点,那么加载页面的副本,如果到另一个页面,锚点也不起作用,加载整个页面。

+0

所以,你要页面加载到每个单独的div? – Firanolfind

+0

虽然对于每个人来说,拥有一个通用函数会更好,但对于我来说,这足够了,而且这样的结果总是使用正则表达式或通过相当容易地创建来添加div。 – novicer

+0

我相信我有你,检查我更新的答案。 – Firanolfind

回答

-1

如果要将每个页面加载到每个与链接相关的容器.pageLoad,那么它可能看起来像这样。

$('a').each(function() { 
    $(this).parent().find(".pageLoad").load($(this).attr('href')); 
}); 

如果你想在飞

$('a').each(function() { 
    $(this).after('<div class="pageLoad"/>').load($(this).attr('href')); 
}); 

添加.pageLoad无需添加.pageLoad手动

<table align="center"> 
    <tr> 
    <td> 
     <a href="test.html" class="className">first</a> 
    </td> 
    <td> 
     <a href="test1.html" class="className">second</a> 
    </td> 
    <td> 
     <a href="test.html" class="className">third</a> 
    </td> 
    </tr> 
</table>