0

我有一个脚本可以检查存储在 txt 文件中的多个 url 的加载时间:

$.get("imones.txt", function (data) {
        var array = data.split(/\r\n|\r|\n/) 
        var beforeLoad = (new Date()).getTime();    
        var loadTimes = [];
            var beforeTimes = [];               
        $('#frame_id').on('load', function () {                                 
            beforeTimes.push(beforeLoad);
            loadTimes.push((new Date()).getTime()); 
            $('#frame_id').attr('src', array.pop());
                $.each(loadTimes, function (index, value) { 
                    var result = (value - beforeTimes[index]) / 1000;
                        if (result < 0) {
                            result = result * (-1);
                        }   
                    $("#loadingtime" + index).html(result);
                    beforeLoad = value;
                });
        }).attr('src', array.pop());
    });

如果我的列表中有一个具有“同源”保护的 url(例如 google),它将使我的脚本崩溃并且不会检查列表中其他 url 的加载值。我在想我可以看到一个特定的 url 是否有'same origine'错误,我会改变那个 url 加载结果“不可用”或其他东西:

     if(url has same origine){
result = "loading time not available";
} else {
//do my calculations

所以是的,在我计算加载时间之前,我能否以某种方式查看特定的 url 是否会给我“same origine”错误?

4

1 回答 1

1

如果您无法读取srciframe 的属性,则您的某些内容不是来自同一个域。

<iframe src="./" height="300" width="300" name="example"></iframe>
<input type="button" onclick="alert(document.getElementsByName('example')[0].src);" value="test" />
<a href="http://www.google.com" target="example">click me</a>

上面的代码应该给你一个想法。但是,此代码不适用于 jsfiddle。

于 2013-03-01T08:03:44.380 回答