0

我有一个带有 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函数。

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

谢谢。

4

2 回答 2

2

我认为主要问题是在一个页面上开始有这么多链接,然后你有任何开销 - javascript,从服务器到浏览器的标头等。快速完成类似操作的唯一方法是生成页面只需使用<a>and <br/>s。

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

于 2013-02-28T16:14:30.313 回答
1

Is your page still slow whith only <a> ? What was the structure of the page with <li> ?

You might get some performance improvement by using a single javascript handler on an element that is the parent of the <a>s, and let the event bubble to know which link was clicked. (See http://davidwalsh.name/event-delegate ..)

于 2013-02-28T16:30:40.300 回答