2012-06-27 101 views
0

我試圖在用戶單擊按鈕時加載輸入網頁的縮略圖。縮略圖本身是在頁面上正確生成的,但是當我嘗試將它加載到div元素中時,它會替換整個頁面。目前,這只是一個概念證明。我會切換到用戶輸入的網址,如果我能得到這個工作。jQuery加載()替換整個頁面,而不是將內容加載到div

這裏是我的Click事件代碼:

$('#check_url').click(function() { 
    $('#thumb_loader').load('load_thumb.html'); 
}); 

thumb_loader僅僅是一個div。我也嘗試過這樣的:

$('#check_url').click(function() { 
    $('#thumb_loader').html($('<div>').load('load_thumb.html')); 
}); 

這裏是load_thumb.html:

<div> 
    <script type="text/javascript"> 
     wsr_snapshot('http://google.com', 'xxxxxxxxxxxxxx', 'Small'); 
    </script> 
</div> 

wsr_snashot是WebSnapr。該圖像在其服務器上生成並出現在代碼的位置。

首先,我可以加載這樣的JavaScript嗎?我曾經使用load來放入包含javascript的內容,所以我懷疑是這種情況。

有人在這裏看到任何問題?

編輯:

這裏就是DIV我想加載到是表,並且用戶會點擊觸發AJAX的按鈕。

<table> 
    <tr> 
     <td colspan="2"> 
        <div id="thumb_loader"></div> 
       </td> 
      </tr> 
      <tr> 
       <td> 
        <label>Link Title:</label> 
       </td> 
       <td> 
        <label>Link Description:</label> 
       </td> 
      </tr> 
      <tr> 
       <td> 
        <input type="text" name="link_title" /> 
       </td> 
       <td rowspan="3"> 
        <textarea name="link_description"></textarea> 
       </td> 
      </tr> 
      <tr> 
       <td> 
        <label>Link URL:</label> 
       </td> 
       <td> 

       </td> 
      </tr> 
      <tr> 
       <td> 
        <input type="text" name="link_url" /> 
       </td> 
       <td> 

       </td> 
      </tr> 
      <tr> 
       <td> 
        <input id="check_url" type="button" value="Check URL" /> 
       </td> 
       <td align="right"> 
        <input type="button" value="Cancel" /><input disabled="disabled" type="submit" value="Add Link" /> 
       </td> 
      </tr> 
     </table> 

我沒有看到其他任何可能與代碼相關的東西。希望這已經足夠了。

+0

你能或許顯示方面更多的代碼,也許是的jsfiddle? – TNC

+0

我不能把網站放在jsfiddle中,但我會添加更多的代碼。 – ahhchuu

+0

你試過'$('#thumb_loader')。load('load_thumb.html div')'? – Ally

回答

1

認沽JS代碼了load_thumb文件,並將其保存在像image.js一個新的js文件,並使用$.getScript動態地添加它在你的主要頁面:

$.getScript('path/image.js', function(){ 
    // file loaded 
}); 

你應該把上面的代碼在你的主文件,你想要運行你的拇指圖像。

更多:

http://api.jquery.com/jQuery.getScript/

+0

這很完美!我從來不知道這存在。謝謝你:) – ahhchuu

+0

@ahhchuu:不客氣... – Blaster

+1

@ahhchuu然後給他的答案一個很好的綠色標記。 – 11684

1

jQuery#load():使用不帶後綴選擇器表達式的URL調用.load()時,內容在腳本被移除之前傳遞給.html()。這會在腳本塊被丟棄之前執行。但是,如果使用附加到URL的選擇器表達式調用.load(),則在DOM被更新之前,腳本將被剝離,因此不會被執行。

如果wsr_snapshot('http://google.com', 'xxxxxxxxxxxxxx', 'Small');包含任何document.write調用,那麼您將覆蓋整個文檔。確保你知道那個功能是幹什麼的。


更新:

根據問題的意見,這確實是問題。您需要弄清楚如何以異步方式使用wsr_snapshot()。反正什麼API?

相關問題