2014-01-05 90 views
0

我已經建立了一個創作工具的物理JS:慢jQuery腳本執行託管在谷歌驅動器

絕對:

https://googledrive.com/host/0B8yu2s4Q9YD8OG00WElPQllYTW8/Home.htm

該工具已經實現了色彩交換-on-mousehover-and-mouseout 對圖像按鈕的影響。

代碼:

$('input#b1').bind('mouseover', function() { 
    $('input#b1').attr("src", "images/Begin_hover.png"); 
}); 
$('input#b1').bind('mouseout', function() { 
    $('input#b1').attr("src", "images/Begin.png"); 

這工作完全在本地。但是,在Google雲端硬盤上,它需要花費一些時間 。

解決方案是什麼?

GitHub上:

https://github.com/MGTHEBOSS/absolutely

回答

0

這與其說是與你的代碼中的問題,爲您的圖像緩存(或缺乏) -

緩存控制:private,max-age = 20

date:Sun,05 Jan 2014 09:34:29 GMT

到期:孫,2014年1月5日9時34分29秒GMT

最後修改:星期六,2014年1月4日10時16分26秒GMT

位置:/主機/ 0B8yu2s4Q9YD8OG00WElPQllYTW8 /圖片/

服務器:GSE

狀態:304未修改

max-age屬性以秒爲單位,expires值告訴瀏覽器不要緩存它。

因此,瀏覽器會在每個鼠標懸停和鼠標懸停上製作「條件GET」,以查看圖像是否已更改。在合理的固定線路連接上,我需要301ms的時間 - 移動網絡上的延遲會更高。

設置遠期到期(絕對最小一小時)以避免需要重複獲取圖像。

您使用的是哪個版本的jQuery? .on()自從jQuery版本1.7以來一直是綁定事件的首選方法 - 通過將DOM元素存儲爲變量以避免重複查找,您還可以使代碼更加高效。

var $beginButton = $('input#b1'); 

$beginButton.on('mouseover', function() { 
    $(this).attr("src", "images/Begin_hover.png"); 
}); 
$beginButton.on('mouseout', function() { 
    $(this).attr("src", "images/Begin.png"); 
+0

如何設置?該頁面託管在Google雲端硬盤上。關於jQuery版本,頁面源代碼清楚地顯示版本是1.9.0。 –

+0

是的,但是你沒有在這裏提供這個版本,並且在我訪問你的頁面之前,我已經將這部分答案作爲評論。在設置過期和緩存控制設置方面,我不知道 - 我從來沒有託管過Google Drive,主機特定的設置和配置問題不適合用於解決特定編程相關問題的StackOverflow。我很快就Google做了指示,但在合理的時間內沒有看到任何內容,如果您仍然有問題,我建議您查看他們的文檔或聯繫支持人員。 – pwdst

+0

那麼,根據你的說法,這個問題沒有代碼級解決方案? –

相關問題