Javascript 使用jQuery加载外部脚本而不使用异步
我需要在两秒钟后在页面上的特定位置加载一个外部脚本,并且不使用异步。换句话说,脚本需要在两秒钟后加载到我在HTML页面中放置它的确切位置。当我使用下面的代码时,我得到一个控制台错误: 未能对“文档”执行“写入”:无法写入 从异步加载的外部脚本导入文档,除非 它是显式打开的 如果将async设置为false,为什么会出现该错误 如果将async设置为false,为什么会出现该错误Javascript 使用jQuery加载外部脚本而不使用异步,javascript,jquery,Javascript,Jquery,我需要在两秒钟后在页面上的特定位置加载一个外部脚本,并且不使用异步。换句话说,脚本需要在两秒钟后加载到我在HTML页面中放置它的确切位置。当我使用下面的代码时,我得到一个控制台错误: 未能对“文档”执行“写入”:无法写入 从异步加载的外部脚本导入文档,除非 它是显式打开的 如果将async设置为false,为什么会出现该错误 如果将async设置为false,为什么会出现该错误 async属性仅适用于XHR请求(它所触发的功能在这里被弃用)。您说的是dataType:“script”,因此请求是
async
属性仅适用于XHR请求(它所触发的功能在这里被弃用)。您说的是dataType:“script”
,因此请求是通过向文档中注入
元素来处理的,而不是通过使用XHR
我需要在两秒钟后在页面上的特定位置加载一个外部脚本,并且不使用异步。换句话说,脚本需要在两秒钟后加载到我在HTML页面中放置它的确切位置
由于外部脚本使用了document.write
,我认为这是不可能的
您应该将其重写为使用DOM操纵
通过使用,您可以识别
元素在DOM中的位置,并将内容插入其中
正在加载的脚本用于第三方表单(Kajabi),我无法更改他们使用document.write的方式
最糟糕的方法是让它写入CSS中设置为
display:none
的元素,然后在计时器上切换显示值。为什么不能在开始时加载该脚本,然后在2秒后执行它?无法在“Document”上执行“write”
。。。可能使用文档。编写。。。这里的侦探工作很棒@Terry:Pie,这是一个XY问题-你真正的问题是你试图使用document.write。注意document.write立即输出-没有“document.write在2秒后”的概念-它在流生成时在流中输出。如果它在2秒钟后运行,它将在
之后运行。我建议您提出一个新问题,大致如下:“我如何处理此文档。在2秒钟后在这个确切的位置编写”(并在需要的地方提供示例doc.write和示例html)@freedomn-m我认为更好的问题是“如何避免使用doc.write此脚本”,但我同意你关于这是一个XY问题的观点
setTimeout(function(){
$.ajax({
url: 'https://example.com/embed.js',
async: false,
dataType: "script",
});
}, 2000);