17
后使用JavaScript我需要找到添加一个iframe元素是最好的办法:的Javascript:添加iframe元素页面加载
- 从用户完全隐藏。
- 页面完全加载后创建。即对用户应该是完全不显眼的,并且不以任何方式影响图像和其他脚本等的加载。
后使用JavaScript我需要找到添加一个iframe元素是最好的办法:的Javascript:添加iframe元素页面加载
您可以添加一个隐藏的iframe
这样的:
var iframe = document.createElement('iframe');
iframe.style.display = "none";
iframe.src = /* your URL here */;
document.body.appendChild(iframe);
如果你需要做的是在页面加载,你可以简单地把相关代码的脚本标签在你的文档的末尾,或者通过window
load
事件(window.onload = yourFunction;
)将其挂起,尽管在页面加载过程中发生的事件相当晚。当然,就像浏览器上涉及JavaScript的许多事情一样,如果使用类似Prototype,jQuery,Closure或any of several others这样的库,可能会发现您的生活会更轻松,因为这些功能可以消除浏览器差异。 (也就是说,上面的代码可以在我熟悉的任何浏览器上运行。)一旦页面加载完成,库通常会提供一种处理方式,但通常会比window
load
更早发生。 jQuery提供了ready
函数; Prototype提供dom:loaded
事件;等
举例来说,如果你把这个在你body
标签的结束,它会创建其他加载后一切的iframe(包括所有图片,window
load
不火,直到所有图像都加载) :
<script type='text/javascript'>
window.onload = function() {
var iframe = document.createElement('iframe');
iframe.style.display = "none";
iframe.src = /* your URL here */;
document.body.appendChild(iframe);
};
</script>
我需要做“页面加载后...”,我不想以任何方式呈现的iframe内容影响网站的加载。 – EddyR 2010-06-18 13:39:13
@EddyR:这就是为什么你把脚本标签放在文档的最后。但是如果你想确保完全避开图像加载的方式,请在'window.onload'中执行。该事件发生在*所有其他事情都完成加载后,包括所有图像。我已经更新了一个例子。 – 2010-06-18 13:40:38
好的...呃。 thx – EddyR 2010-06-18 13:45:43