0

txt ファイルから URL を取得し、iframe に次々と配置するスクリプトを取得しました。スクリプトは次のとおりです。

 <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>

URLの1つに「同じオリジン」保護(たとえば、google.com)がある場合に問題が発生します.Googleのロードを開始すると、他のフレームがロードされないという問題があります(スタックします)。これにはブロックを使用するように言われましたtry catchが、方法がわかりません。を使用して「同じオリジン」の URL を回避するにはどうすればよいですかtry catch(それらをロードしたくないので、スキップしたいことに注意してください)。

4

1 に答える 1

0

私はここで推測しています

<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()); 
                    try {
                        $('#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;
                        });
                    } catch(ex) {}
                }).attr('src', array.pop());
            });
        </script>

これは、実際にURLを「src」属性にプッシュしている場所をラップし、リクエストを発行します。

于 2013-03-05T06:14:28.697 に答える