2011-09-28 74 views
3

我在<div>內有一組圖像。出於安全目的,所有這些圖像通過302而不是200服務(基於認證的servlet服務圖像)。jQuery的克隆()和302圖像源 - 如何避免在Firefox重新加載?

我想克隆<div>並將其追加到另一個容器。

在Firefox以外的所有瀏覽器中這樣做時,圖像不會重新加載。看來這些瀏覽器瞭解它是相同的圖像。

在Firefox中,每個圖像在克隆/追加後重新加載。我想避免這種情況。有沒有人有任何建議如何?

更新了代碼示例:

<div> 
    <p><button type="button" id="btn1">Clone 1</button> <button type="button" id="btn2">Clone 2</button></p> 
</div> 

<div id="group1"> 
    <div id="imgs"> 
     <p><img src="https://example.com/image/9c90434ed657427dad29"></p> 
     <p><img src="https://example.com/image/977b5dfe5e064880b164"></p> 
     <p><img src="https://example.com/image/8f22d7fd2a2343ab99c9"></p> 
     <p><img src="https://example.com/image/898c022e20b742c88ae6"></p> 
     <p><img src="https://example.com/image/8319fe1d23064b5d8011"></p> 
    </div> 
</div> 

<div id="group2"></div> 

<script type="text/javascript" src="http://code.jquery.com/jquery-1.6.2.min.js"></script> 
<script type="text/javascript"> 
    $(document).ready(function(){ 
     $("#btn1").click(function(){ 
      $("#imgs").clone().appendTo("#group1"); 
     }); 
     $("#btn2").click(function(){ 
      $("#imgs").clone().appendTo("#group2"); 
     }); 
    }); 
</script> 
+1

你有代碼示例嗎? –

+0

當然。我用一個代碼示例編輯了我的原始文章。關鍵是,在Firefox中,當你克隆'div#imgs'並追加圖像時,所有的重新加載。在所有其他瀏覽器中,它們都沒有。同樣重要的是要注意,所有這些圖像都作爲302重定向用於身份驗證目的(它是一個具有資產隱私的企業應用程序)。我的目標是在我們尋找302的替代方案之前查看是否有jQuery解決方案。謝謝。 – Kgosser

+0

另外值得注意的是:如果將clone()更改爲detach(),則圖像不會在Firefox中重新加載。 – Kgosser

回答

0

嘗試增加預取標籤爲Firefox用戶。我相信FF仍然支持預取關係;他們確實想出了它。

<link rel="prefetch" src="https://example.com/image/9c90434ed657427dad29"> 
<link rel="prefetch" src="https://example.com/image/977b5dfe5e064880b164"> 
<link rel="prefetch" src="https://example.com/image/8f22d7fd2a2343ab99c9"> 
<link rel="prefetch" src="https://example.com/image/898c022e20b742c88ae6"> 
<link rel="prefetch" src="https://example.com/image/8319fe1d23064b5d8011">