我有一个脚本从txt文件获取url并将它们放入一个帧中,计算每个帧加载所花费的时间。一切正常,直到我输入一个url女巫有iframe保护('sameorigin'),然后我的脚本崩溃,并没有给其他网址的结果。
这是我目前的剧本:
<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'保护,我只想跳过任何受保护的网址。
搜索解决此问题我在stackoverflow上发现了这个问题 - http://jsfiddle.net/LHjwZ/11/
我根本不理解该代码,但如果我输入受保护的网址(例如google.com),则会返回truefalse
,如果我输入的网址没有保护,则返回{{1 }}。所以我假设它以某种方式检测url是否具有'sameorigin'并返回falsefalse
(如果有)。我想把那段jsfiddle代码放到我的代码中,但就像我说我不明白代码是如何工作的。
答案 0 :(得分: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 site。