2010-04-27 83 views
0

我試圖從jQuery插入reCaptcha代碼到我的頁面,但它不起作用。從jQuery/Javascript插入腳本

這裏是我的代碼:

$("#button").click(function() { 
     $("#loginBox").html($.getRecaptcha()); 
    }) 

當我嘗試以下方法,我的代碼不會運行。我認爲它試圖執行而不是渲染它。

$.getRecaptcha = function(){ 
    return '<script type="text/javascript"' + 
     'src="http://api.recaptcha.net/challenge?' + 
     'k=6Ld3iAsAAAAAAGyX8QT244GagPEpCDSD-96o4gEi"></script>'; 

} 

用下面的代碼運行,但是當我點擊#鍵我得到一個空的,全白 瀏覽器窗口。

$.getRecaptcha = function(){ 
    var captcha = $("<script>") 
     .attr("type", "text/javascript") 
     .attr("src", "http://api.recaptcha.net/challenge?k=6Ld3iAsAAAAAAGyX8QT244GagPEpCDSD-96o4gEi"); 
    return captcha; 
} 

我不想插入reCAPTCHA的代碼從一開始就我的HTML,因爲它從下載的ReCaptcha服務器的ReCaptcha內容即使我的用戶不想使用它。我可以將容納reCaptcha的容器的可見性設置爲不可見(display:none;),但它將下載內容,而不管它是什麼。

我可以插入reCaptcha給我們的「noScript」代碼,但它也不起作用,因爲它可以發現瀏覽器允許使用javascript,但我使用了noScript。

有什麼建議嗎?

(我知道,我把我的公開驗證碼鑰匙插入代碼,但它只是用於測試目的,你可以從我的HTML或反正javascript代碼得到它)

UPDATE:

Krunal Mevada回答了我的問題。但它不適用於reCaptcha。 reCaptcha提供了一個reCaptcha AJAX API這是我的具體問題的答案。但是,通過getScript(),我可以下載reCaptcha AJAX API javascipt文件。

回答

0

使用getScript jQuery的方法。

可能是這個答案可能是有用的:

Stack Answer

+0

它不工作。當我這樣做時,我得到了與上面在第2部分中提到的結果相同的結果。 (空白,全白窗口) – Colby77 2010-04-27 17:45:12

+0

我發現這是一個reCaptcha問題。他們給了我們一個reCaptcha AJAX API,這是解決我的特定問題的方法。但是,您的答案是關鍵,因爲現在我可以下載reCaptcha AJAX API JavaScript文件,以及任何我想要的東西。謝謝。我用這些更新了我的問題。 – Colby77 2010-04-27 18:52:32

0

第一代碼部分:在第一行的末尾插入空格:

return '<script type="text/javascript" ' +