window.addEventListener('load', () => {
    window
        .fetch('https://services.share-pi.aarp.org/applications/CoreServices/WSOWebService/captcha/getWidget')
        .then((resp) => resp.text())
        .then(data => {

      // Initialize the DOM parser
            var parser = new window.DOMParser()

            // Parse the text
            var doc = parser.parseFromString(data, 'text/html')

            // Print to console
            console.log(doc.documentElement)
            document.getElementById('nuCaptcha').appendChild(doc.documentElement)
        })
})

<h3>NuCaptcha</h3>
<div id="nuCaptcha" class=""></div>





我正在实施NuCaptcha-与Google Captcha类似。

我正在将请求的响应打印到控制台中。当我将此响应粘贴到JSBin或空白.html中时。文件,它可以工作并且显示验证码质询,但是添加到页面的验证码似乎没有呈现。

有人对为什么会这样有任何想法吗?

最佳答案

诀窍是在粘贴下载的HTML之后执行脚本。



window.addEventListener('load', () => {
	window.fetch('https://services.share-pi.aarp.org/applications/CoreServices/WSOWebService/captcha/getWidget').then((resp) => resp.text()).then(data => {
		var div = document.getElementById('nuCaptcha');
		div.innerHTML = data;
		var script = div.getElementsByTagName('script')
		for (var i = 0; i < script.length; i++) eval(script[i].innerHTML);
	})
})

<h3>NuCaptcha</h3>
<div id="nuCaptcha" class=""></div>

关于javascript - NuCaptcha不渲染,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58134337/

10-11 19:24