該腳本執行window.open('',...),然後通過執行寫入xmlhttp.responseText的innerHTML = xmlhttp.responseText,但腳本不會加載。可以xmlhttp.responseText包含<script type =「text/javascript src =」...「></script>並加載?
0
A
回答
2
通常情況下,你會得到XMLHTTP請求響應爲純JavaScript,然後使用JavaScript eval()函數:
function callback() {
var result = xmlHttp.responseText;
eval(result);
}
在這種情況下,你不會把它當作HTML。相反,你會返回純代碼。不同的是:
不這樣做在你的頁面調用
<script type="text/javascript">
alert('xmlhttprequest loaded!');
</script>
做到這一點,而不是
alert('xmlhttprequest loaded!');
這樣,實際上,這是發生了什麼:
function callback() {
var result = xmlHttp.responseText;
eval("alert('xmlhttprequest loaded!');");
}
但是喲你不希望發生這種情況:
function callback() {
var result = xmlHttp.responseText;
eval("<script>alert('xmlhttprequest loaded!');</script>");
}
這樣做有一些問題,如eval可能會很慢。谷歌JavaScript評估,看看別人不得不說。
===編輯===
使用DOM方法,而不是XMLHttpRequest的,實際上可能是什麼原海報需要在這裏做,這是動態加載谷歌的圖形驗證碼。
<html>
<head></head>
<body>
<script type="text/javascript">
var head = document.getElementsByTagName('head')[0];
var script = document.createElement('script');
script.type = 'text/javascript';
script.src = "http://google.com/captcha/location";
head.appendChild(script);
</script>
</body>
</html>
此外,如果你需要它某處土地,你可以這樣做:
<html>
<head></head>
<body>
<div id="captcha">
</div>
<script type="text/javascript">
var captcha = document.getElementById('captcha');
var script = document.createElement('script');
script.type = 'text/javascript';
script.src = "http://google.com/captcha/location";
captcha.appendChild(script);
</script>
</body>
</html>
0
你可能想EVAL這個responseText在JavaScript。
你可能想確保這個responseText來自你自己的服務器端系統,以避免XSS攻擊。
1
eval(xmlhttp.responseText);
相關問題
- 1. 的WebView加載它包含的.js作爲<script src>
- 2. document.createElement('script')vs <script src =「」>
- 3. 用<script>內容替換<script src =「url」></script>
- 4. <script></script> or <script />?
- 5. 我可以把<script></script>裏面<script></script>
- 6. 什麼是<script type =「text/javascript」><!--mce:0--></script>?
- 7. 可以<script type =「text/javascript」> window.location =「/」;</script>被黑客攻擊?
- 8. <script type =「text/javascript」>和</script>如何影響計時?
- 9. <script type =「text/javascript」> alert('Xss done');</script>
- 10. <script>標籤必須包含單獨的</script>標籤?
- 11. 添加src屬性<script>
- 12. 找到並使用包含在<li><img src=""><img src=""></li>與PHP
- 13. 如何檢索的<SCRIPT SRC =「myscript.ms」內容></script>
- 14. <script src =「X」></script> inside return render | React
- 15. 意外標記錯誤(<SCRIPT SRC =「../../ JS/jquery.min.js」></script>)
- 16. 等效的JavaScript命令<script src =「something1.json」></script>?
- 17. 爲什麼使用Jquery getScript()VS <script src =「」></script>?
- 18. 包括外部<script>,並防止多次加載jQuery
- 19. 我可以將<script> ...</script>中的代碼保存在不同的文件中幷包含它嗎?
- 20. Jquery - getScript版本。 <script> ..</script>
- 21. 如何在外部.js文件中包含<script type>?
- 22. HTML是<img src="<script>一些JavaScript</script>「>是否允許?
- 23. <script/> vs <script></script>與webpack和角
- 24. 「<script src =」
- 25. javascript變量,包含</script>
- 26. ECMASCRIPT 6 <script type =「text/traceur」>
- 27. <script></script></script>標籤與RegEx for Coldfusion包括換行符
- 28. 爲什麼PHP對AJAX的響應包含<script> aBunchOfJavascriptHere</script>?
- 29. 外部回調頁面加載</p> <pre><code><script data-main="js/main" src="js/libs/require/require.js"></script> </code></pre> <p>它加載一些依賴,以及啓動應用程序時
- 30. document.write('<scr'+'ipt src = vs <script src =
我覺得這是不解決問題的。我將有一個標記,它打開一個新窗口,提示google-recaptcha查詢,然後顯示驗證碼正確的文本。我選擇通過xmlhttprequest獲取包含javascript的google-recaptcha代碼並將其插入到innerHTML中。這是在那裏,但沒有加載和recaptcha沒有出現。 – user583311 2011-01-23 18:29:34