我試圖從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文件。
它不工作。當我這樣做時,我得到了與上面在第2部分中提到的結果相同的結果。 (空白,全白窗口) – Colby77 2010-04-27 17:45:12
我發現這是一個reCaptcha問題。他們給了我們一個reCaptcha AJAX API,這是解決我的特定問題的方法。但是,您的答案是關鍵,因爲現在我可以下載reCaptcha AJAX API JavaScript文件,以及任何我想要的東西。謝謝。我用這些更新了我的問題。 – Colby77 2010-04-27 18:52:32