要实现不使用`XMLHttpRequest`的异步加载`iframe`和`script`,我们可以通过原生JavaScript的`document.createElement`方法来动态创建这些元素,并设置它们的属性,最后将它们添加到DOM中。这样可以在不直接请求数据(如`XMLHttpRequest`所做的那样)的情况下,实现资源的异步加载。
### 异步加载Iframe
// 创建一个新的iframe元素
var iframe = document.createElement('iframe');
// 设置iframe的源地址
iframe.src = 'https://example.com';
// (可选)设置iframe的其他属性,如样式、尺寸等
iframe.style.width = '100%';
iframe.style.height = '500px';
// 将iframe添加到body的末尾
document.body.appendChild(iframe);
### 异步加载Script
// 创建一个新的script元素
var script = document.createElement('script');
// 设置script的源地址
script.src = 'https://example.com/script.js';
// (可选)设置script的其他属性,如类型、异步加载等
script.async = true; // 设置为true表示异步加载
// 将script添加到head中,或者body的末尾,根据需求
document.head.appendChild(script);
// 或者
// document.body.appendChild(script);
通过这两种方式,你可以在不使用`XMLHttpRequest`的情况下,实现`iframe`和`script`的异步加载。这些资源将根据需要被浏览器加载和执行,而不会阻塞页面的其他部分。