jQuery中包含的脚本标签在插入DOM时不会被AJAX响应计算
Script tags contained in jQuery AJAX response not evaluated when inserted into the DOM?
根据jQuery文档中$。当插入到DOM中时,包含的脚本标签将被计算。当我使用ajax抓取对话框的内容时,该对话框又包含一个用于显示ReCaptcha框的脚本标记,当将ReCaptcha框添加到DOM中时,不会出现该对话框。根据FireBug,脚本标签现在也从添加的内容中消失了。直接导航到对话框内容显示验证码很好。
有谁知道为什么会发生这种情况和/或知道解决方法吗?如有任何帮助,我将不胜感激。
运行中的代码可以在这里查看:
https://dustinhendricks.com/然后点击"立即注册"
脚本是否尝试做像document.write()这样的事情?这在动态加载时不起作用,只有在初始页面加载时才起作用。
一般来说,HTML中包含的innerHTML脚本不会在不同浏览器中一致地求值。为了解决这个问题,jQuery实际上查找脚本标记并手动执行它们。
但这并不重要。即使jQuery没有这样做,脚本也会在不同类型的上下文中运行,而不是在第一次加载页面时运行。它不再是真正的"内联脚本"了,许多第三方脚本都是在假设它是"内联"的情况下编写的。您必须弄清楚脚本在做什么,并找到一种使用动态内容调用它的方法。
看一下Google reCAPTCHA AJAX API。用这种方式使用验证码应该可以解决您的问题。
我希望它有帮助!
相关文章:
- 在计算AJAX POST函数时遇到问题
- W3Schools AJAX 考试在本地计算机上不起作用
- Javascript 异步用于复杂计算,但不是 ajax 调用
- jquery ajax - 远程计算机上触发的事件在 1 秒后中止
- 可以计算使用 AJAX 加载了多少数据
- AJAX,JQuery,点击按钮后计算价格
- 在客户端使用 javascript、ajax 或 php 计算填充字段的数量
- AWS S3 ajax PUT 返回“我们计算的请求签名与您提供的签名不匹配”
- Javascript/Ajax/Jquery在更改时动态计算表单
- 使用数据库onchange中提供的ajax值进行自动计算
- AJAX计算多个单元格
- ajax post请求调用时,为什么函数计算两个元素之间的距离不起作用
- 如何计算已使用AJAX加载到页面的元素
- 如何通过多个$.ajax调用实现异步计算可观察性
- 起始点的时间表计算JQuery/Ajax/其他
- 计算使用AJAX生成的输入类型的总和
- Magento Ajax航运计算
- 在请求完成之前无法计算聚合物 iron-ajax 标头属性
- 使用Ajax计算字段
- jQuery中包含的脚本标签在插入DOM时不会被AJAX响应计算