2013-02-28 23 views
0

頁放緩我有一個JW音頻播放器一個PHP頁面,並有5500左右的鏈接,每個鏈接的onclick事件的JavaScript函數連接。 PHP是產生確切的相對路徑和文件的名稱,然後傳遞給JavaScript。什麼是有效的方式,以儘量減少周圍5500鏈接

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

最初我包裹它裏面<li>,有這裏面一個圖像,以及上述<a>。我的頁面(顯然)很慢,玩家需要時間來加載文件,我現在已經刪除了<li>標籤,現在它的標籤簡單5500 <a>標籤,現在頁面反應更快。 我想要什麼是導致頁面變慢的東西,它只是如此多的鏈接<li>或JavaScript函數附加到它。

什麼是處理這種情況的最有效的方式,這可能是我可以用最輕的標籤,這樣我可以儘量減少開銷儘可能?

謝謝。

+0

你真的需要5500個鏈接一下子在網頁上?爲什麼不實施某種搜索或過濾或尋呼功能? – Halcyon 2013-02-28 16:10:10

+0

@FritsvanCampen多數民衆贊成在東西,我需要在頁面上的這些許多鏈接 – Nikhar 2013-02-28 16:11:30

+0

分頁ftw。 – Lowkase 2013-02-28 16:11:41

回答

2

我認爲主要的問題是具有一個頁面上的許多鏈接,首先,然後你有什麼開銷上的頂部 - JavaScript中,頭從服務器到瀏覽器等方面做出類似的東西,唯一的方法快速是簡單地用<a><br/> s生成頁面。

這樣說,JavaScript會增加一些開銷,放慢速度,呈現<li>元素,播放器加載,向用戶發送音樂(我假設它是視頻或音樂),加載它的內容到瀏覽器中等等。通常,這些東西 - 減去播放器的加載和流媒體內容 - 可以快速完成,但是當你考慮了這麼多元素時,它肯定會加起來。該頁面獲得體面響應時間的唯一方法是純粹使用<a><br />,並且具有單獨的頁面來處理實際的媒體播放。我會建議分頁儘管正如評論中提到的那樣,或者類似的東西,如果你可以擺脫它。

+0

你是對的,我剛剛刪除了那個jw音頻播放器,它的libs,並添加了一個簡單的html5音頻播放器,頁面是smoooth .. :) – Nikhar 2013-02-28 16:26:16

1

是您的頁面仍然緩慢蒙山只<a><li>頁面的結構是什麼?

通過在作爲<a>的父級元素的元素上使用單個JavaScript處理程序,並讓事件冒泡以知道哪個鏈接被單擊,您可能會獲得一些性能提升。 (見http://davidwalsh.name/event-delegate ..)

+0

與'li'這是因爲它的小圖像和其他css也許,但純粹的'a'和html5播放器,它非常流暢。也感謝鏈接,我會執行它。 – Nikhar 2013-02-28 16:58:02

相關問題