什么是使用大约5500链接最小化页面减速的有效方法

时间:2013-02-28 16:08:31

标签: javascript html

我有一个带有Jw音频播放器的php页面,并且有大约5500个链接,在每个链接的onclick事件上附加了一个javascript函数。 php正在生成文件的确切相对路径和名称,然后传递给javascript。

<a class="items" href="#" 
onclick="play1('<?php echo $fname."'".","."'".$f; ?>');return false">
<?php echo($fname);?>
</a>

最初我把它包裹在<li>里面,里面有一个图像,以及上面的<a>。我的页面(显然)很慢,播放器需要时间来加载文件,我现在已经删除了<li>标签,现在简单的简单5500 <a>标签,页面现在响应更快。 我想要导致页面变得更慢的是什么东西,是<li>内的这么多链接还是附加到它的javascript函数。

处理这种情况的最有效方法是什么,可以使用哪种最轻的标签,以便尽可能减少开销?

感谢。

2 个答案:

答案 0 :(得分:2)

我认为主要的问题是在页面上开始使用那么多链接,然后你就可以获得任何开销 - javascript,从服务器到浏览器的标题等等。制作这样的东西的唯一方法是使用<a><br/>生成页面。

这样说,JavaScript会增加一些开销,减慢它的速度,渲染<li>元素,播放器加载,发送音乐(我假设它的视频或音乐)到用户,将其内容加载到浏览器等等。通常,这些东西 - 减去播放器加载和流式传输内容 - 可以快速完成,但是当你考虑到那么多元素时,它肯定会加起来。页面获得良好响应时间的唯一方法是纯粹使用<a><br />,并使用单独的页面处理实际的媒体播放。我会建议分页虽然在评论中提到,或类似的东西,如果你可以逃脱它。

答案 1 :(得分:1)

您的网页是否仍然只有<a><li>页面的结构是什么?

通过在作为<a>的父元素的元素上使用单个javascript处理程序,您可以获得一些性能提升,并让事件冒泡以了解单击了哪个链接。 (见http://davidwalsh.name/event-delegate ..)