您可以通过以下方式为多个 iframe 实现此目的,而无需动态添加它们:
src将所有帧的属性设置为about:blank在身体加载之前, 
- 让身体负荷事件触发,
 
- 添加一个
onload处理程序来捕获每个帧的加载时间,然后 
- 将每一帧的属性恢复
src到其原始值。 
我创建了一个frameTimer包含两种方法的模块:
init需要在</body>标记之前立即调用的方法,以及 
- 一种
measure在页面加载时调用的方法,该方法采用结果回调。 
结果对象是这样的哈希:
{
    iframes: {
        'http://google.co.jp/': 1241159345061,
        'http://google.com/': 1241159345132,
        'http://google.co.uk/': 1241159345183,
        'http://google.co.kr/': 1241159345439
    },
    document: 1241159342970
}
它为每个加载时间返回整数,但可以轻松更改为仅返回文档正文加载的差异。
这是一个实际的工作示例,带有这个 javascript 文件 ( frameTimer.js):
var frameTimer = ( function() {
    var iframes, iframeCount, iframeSrc, results = { iframes: {} };
    return {
        init: function() {
            iframes = document.getElementsByTagName("iframe"),
            iframeCount = iframes.length,
            iframeSrc = [];
            for ( var i = 0; i < iframeCount; i++ ) {
                iframeSrc[i] = iframes[i].src;
                iframes[i].src = "about:blank";
            }
        },
        measure: function( callback ) {
            results.document = +new Date;
            for ( var i = 0; i < iframeCount; i++ ) {
                iframes[i].onload = function() {
                    results.iframes[ this.src ] = +new Date;
                    if (!--iframeCount)
                        callback( results )
                };
                iframes[i].src = iframeSrc[ i ];
            }
        }
    };
})();
和这个 html 文件 ( frameTimer.html):
<html>
    <head>
        <script type="text/javascript" src="frameTimer.js"></script>
    </head>
    <body onload="frameTimer.measure( function( x ){ alert( x.toSource() ) } )">
        <iframe src="http://google.com"></iframe>
        <iframe src="http://google.co.jp"></iframe>
        <iframe src="http://google.co.uk"></iframe>
        <iframe src="http://google.co.kr"></iframe>
        <script type="text/javascript">frameTimer.init()</script>
    </body>
</html>
这可以用 jQuery 用更少的代码(并且不那么突兀)来完成,但这是一个非常轻量级且无依赖的尝试。