1 - 是的,window.performance 与页面加载相关。请参阅下面的示例,该示例显示了这一点:
<button id='searchButton'>Look up Cities</button>
<br>
Timing info is same? <span id='results'></span>
<script type="text/javascript" src="//code.jquery.com/jquery-1.9.1.min.js"></script>
<script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/underscore.js/1.4.4/underscore-min.js"></script>
<script type="text/javascript">
jQuery('#searchButton').on('click', function(e){
// deep copy the timing info
var perf1 = jQuery.extend(true, {}, performance.timing);
// do something async
jQuery.getJSON('http://ws.geonames.org/searchJSON?featureClass=P&style=full&maxRows=10&name_startsWith=Denv', function() {
// get another copy of timing info
var perf2 = jQuery.extend(true, {}, performance.timing);
// show if timing information has changed
jQuery('#results').text( _.isEqual( perf1, perf2 ) );
});
return false;
});
</script>
此外,即使你确实让它工作了,你也会从不支持这个对象的旧浏览器中丢失数据。
2 - Boomerang 项目似乎超越了 Web 计时 API,还支持旧版浏览器。本次会议中列出的当前维护者有幻灯片和示例代码的演讲。抱歉没有直接链接。