2012-11-13 71 views
0

我目前有一個網站,我正在努力,哪裏有一個腳本,只需要加載和點擊某個元素時顯示。我們正在加載的腳本是外部的,加載非常緩慢,並且儘可能快地阻止dom加載。我正在尋找追加此腳本或加載其內容到點擊某個元素。我看上去很高,並嘗試了許多不同的方法來做到這一點,但沒有成功。我知道這是可能的,並已做到這一點,但不記得如何。追加和加載腳本點擊jQuery/JavaScript

請注意,我已經嘗試將url的內容加載到iframe中,然後克隆並添加到元素中。

下面的代碼說明了什麼,我希望做

$("#button").click(function(e){ 
     e.preventDefault(); 
     var $slowLoadingScript = $('<script src="http://external-slow-script.com/script.js"></script>');  

    $slowLoadingScript.load(function(){ 
     $("#Element").append(slowLoadingScript);   
    }); 


    });  

注意腳本的內容是這樣的:

document.write("a long list of html and js"); 
+0

這個腳本有多大? – MikeSmithDev

+0

我假設你應該將這段腳本追加到head section,對吧? – defau1t

+0

@MikeSmithDev腳本很大,它也調用外部腳本。它有jQuery UI,scrollTo和其他庫/插件的一長串列表。 – jeffreynolte

回答

0
$('#button').click(function(e){ 
    e.preventDefault(); 
    $.getScript('http://external-slow-script.com/script.js'); 
}); 

解釋jQuery的$.getScript()http://api.jquery.com/jQuery.getScript/

+0

我試過這種方法沒有成功。當調用.done()時,它不會給我這個腳本的數據。 – jeffreynolte

+0

爲什麼*你*需要這些數據? JavaScript在加載後執行。 – Coby

+0

我需要執行此腳本的內容並能夠將其附加到某個元素。這不是一個庫,它是一個我需要渲染的實際小部件。 $ getScript不能以我嘗試過的方式工作。 – jeffreynolte