0

txtファイルからURLを取得してフレームに配置し、各フレームの読み込みにかかる時間を計算するスクリプトを入手しました。URLウィッチにiframe保護(「同一生成元」)が適用されるまではすべて正常に機能します。その後、スクリプトがクラッシュし、他のURLの結果が表示されません。

これが私の現在のスクリプトです:

<script type="text/javascript">
    $.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());
    });
</script>

'sameorigin'保護をバイパスしたくないので、保護されているURLをスキップしたいだけです

この問題を解決するために検索して、stackoverflowでこれを見つけました-http ://jsfiddle.net/LHjwZ/11/

そのコードはまったくわかりませんが、保護されているURL(たとえば、google.com)をtruefalse入力すると、が返されます。保護されていないURLを入力すると、が返されますfalsefalse。だから私はそれがどういうわけかurlが'sameorigin'を持っているかどうかを検出し、trueそれを持っている場合は返すと思います。そのjsfiddleコードを自分のコードに入れたいのですが、私が言ったように、そのコードがどのように機能するのか理解できません。

4

1 に答える 1

0

コードはtry...catchステートメントを使用します。

try {
    // Put your regular code here
}
catch(e){
    // put here the code to execute in case of error
    // you can leave the catch section empty
}

詳細については、MDNサイトを確認してください。

于 2013-03-04T07:06:53.600 に答える