我在文本文件里有很多书。
我已经在网站上列出了这本书的索引。
其理论是:从包含整本书的文本文件中从索引中加载图书的部分。
本书的索引(例如,我们有3个索引):
<ul>
<li><a onClick="return LoadThis('a1')">INDEX-1</a><div id="loader1" ></div></li>
<li><a onClick="return LoadThis('a2')">INDEX-2</a><div id="loader2" ></div></li>
<li><a onClick="return LoadThis('a3')">INDEX-3</a><div id="loader3" ></div></li>
</ul>JavaScript代码:
var loadUrl = "http://www.website.com/books/the-book.php";
function LoadThis(link_anchor)
{
var loader="#loader"+link_anchor.substring(1);
$(loader).html(ajax_load).load(loadUrl+" #"+link_anchor);
$(loader).addClass('ajax-active');
}The-Book.PHP文件
<div id="a1"><p>Index-1 texts...</p></div>
<div id="a2"><p>Index-2 texts ....</p></div>
<div id="a3"><p>Index-3 texts ....</p></div>问题:负载通常并不坏!而且他们的装船运转良好。但是..。
如果索引的数量和-Book.php的文件大小都增加了,那么加载速度就会比小书慢。
问题:是我使用AJAX加载函数的编程方法吗?
是否有更好、更标准和更快的方法来做到这一点?
请帮帮我。
发布于 2013-11-04 08:07:38
从任何方面来说,使用.load()本身并不是一种糟糕的实践,但在您的情况下,这并不是理想的做法。
当您使用.load()获取页面并指定选择器以确定要插入的部分时,您可能会认为它只会下载文件的这一部分。因为jQuery无法知道选择器在文件中的位置(或者它在几个地方),所以它必须下载整个文件,即使您只想要它的第一个(或最后一个)部分。
因此,如果您有一本很大的书(比如几百千字节),并且您的书没有缓存,那么您需要多次下载大量数据来填充页面上的所有部分。
如果您真的想做部分加载,那么您需要在您的硬盘上创建单独的文件,并且每次为每个部分加载正确的文件,或者您可以让php文件筛选结果,并且只返回所请求的部分。
如果您想使用php进行过滤,那么您可以查看如何在PHP中解析和处理HTML/XML?以获得更多关于解析html/xml的信息。
https://stackoverflow.com/questions/19763604
复制相似问题