【发布时间】:2020-08-16 03:36:27
【问题描述】:
我有一个 url 数组,我想用它们在页面上呈现 iframe。我的目标是在显示下一个 iframe 之前显示 iframe 的内容,该过程一直持续到我为数组中的所有 url 呈现 iframe 为止。不知道我做错了什么,下面是我写的一个脚本来处理这个。适用于单个 url,但是对于多个 url,它会在页面上呈现任何 iframe 之前尝试从所有 url 中获取所有内容。
<script>
get('endpoint to fetch the urls').then(data => { // makes api request to fetch the urls.
const lti_launch_urls = data['lti_launch_urls']
lti_launch_urls.forEach((launch_url, index) => {
const iframe = document.createElement('iframe')
iframe.sandbox = "allow-same-origin allow-scripts allow-popups allow-forms"
iframe.width = "100%"
iframe.frameBorder = "0"
iframeId = "iframe-" + index
iframe.id = iframeId
iframe.src = launch_url
document.body.appendChild(iframe)
iframe.contentWindow.postMessage(style, "*");
})
})
</script>
【问题讨论】:
-
forEach内部没有阻止逻辑阻止它继续迭代,直到加载 iframe。 -
@Taplar 你建议我如何阻止?
-
您不一定需要创建阻塞逻辑,只需使用 iframe onload 事件加载下一个 iframe。
标签: javascript html jquery css iframe