【发布时间】:2014-07-28 23:28:28
【问题描述】:
我正在尝试解决script id="img" 标签的问题。我在两个不同的页面上使用下面的两个脚本,但在这两种情况下脚本都不会加载。
在第一个示例中,IFRAMES 在 5 秒和 8 秒后完美加载,在第二个示例中都在 5 秒后加载,我也想加载 js 文件,但它们没有加载。
谁能帮我解决这个问题?我需要在代码中添加/修改什么才能使其正常工作?提前致谢。
示例 1
<script type="text/javascript">
window.onload = function() {
setTimeout(function(){loadfunction('map','https://www.example1.com/maps/')},5000);
setTimeout(function(){loadfunction('fbook','https://www.example2.com/')},8000);
setTimeout(function(){loadfunction('img','https://www.mywebpage.com/img.js')},10000);
}
function loadfunction(id,url) {
document.getElementById(id).src = url;
}
</script>
下面的脚本做同样的事情,但在 5 秒内同时加载它们,但不是 img.js 文件,只有 iframe。
示例 2
<script type="text/javascript">
window.onload = function() {
setTimeout(loadfunction,5000)
}
function loadfunction() {
document.getElementById("map").src = "https://www.example1.com/maps/"
document.getElementById("fbook").src = "https://www.example2.com/"
document.getElementById("img").src = "http://www.mywebpage.com/img.js"
}
</script>
在两个页面的正文中,我都有下面的代码......
<iframe id="map" width="730" height="400" frameborder="0" style="border:0" allowtransparency="true"></iframe>
<iframe id="fbook" width="730" height="400" frameborder="0" style="border:0" allowtransparency="true"></iframe>
<script id="img" type="text/javascript"></script>
【问题讨论】:
-
您的要求真的一点都不清楚。什么是“脚本 ID 函数”?
-
嗨,也许我没有正确表达自己。我的意思是当我在脚本上放置 ID 标签时,我正在使用的脚本不起作用,但它适用于 iframe。我只是想延迟加载img.js,就像两个iframe一样,但不知道怎么做?
-
在
<script>标签上添加一个“id”属性实际上并没有任何作用。 “适用于 iframe”也很令人困惑。真的还不清楚你在问什么。 -
@LavenderBlue 脚本在遇到脚本标签时被解析。如果脚本标签中没有
src属性,则解析器假定在标签之间找到脚本的文本。如果有src属性,则会加载脚本,忽略标签之间的内容。此外,脚本是不可变的,您无法更改曾经解析过的脚本的内容。如果要延迟加载脚本,则必须创建一个新的脚本标签并设置其src。 -
我确实尝试在脚本上使用 src 标签,但它不起作用。脚本立即加载,没有延迟。我尝试了一个空的 src="" 脚本没有加载和显示,当我尝试使用 src="img.js" 脚本只是加载而没有延迟?
标签: javascript iframe load delay onload