使用 Google Web Toolkit 和 Eclipse Galileo 进行高性能 Web 开发
2009-12-13 00:00:00 来源:WEB开发网现在,让我们看看 GWT 将对各种浏览器发出什么代码。要弄清 GWT 编译器为每种浏览器编译出的是什么代码,请在 .nocache.js 文件中查找类似于清单 16 的代码。
清单 16. GWT 的浏览器探测代码if (!strongName) {
try {
unflattenKeylistIntoAnswers(['opera'],
'D1B884746B9C511E12378A55F9FD97E2.cache.html');
unflattenKeylistIntoAnswers(['safari'],
'12DC532DA52018F17FA7F84F7137102A.cache.html');
unflattenKeylistIntoAnswers(['gecko1_8'],
'0986E60F243CC620FA7138AB06F221EB.cache.html');
unflattenKeylistIntoAnswers(['gecko'],
'CF1F7CBAF43D18B03F82260D99CB1803.cache.html');
unflattenKeylistIntoAnswers(['ie8'],
'1EE88964C0A866A7F2887C02F69F64D3.cache.html');
unflattenKeylistIntoAnswers(['ie6'],
'5395DF4A8135D37430AAE1347158CE76.cache.html');
strongName = answers[computePropValue('user.agent')];
}
catch (e) {
return;
}
}
现在您可以匹配每个键值(“opera”、“safari” 等)和生成的文件。这样,我们现在可以找到清单 15 中的 onSuccess 方法针对 Internet Explorer V6 编译后的版本,如清单 17 所示。
清单 17. 针对 Internet Explorer V6 编译后的版本function $onSuccess(this$static, result){
($clinit_11() , this$static.val$dialogBox.caption.element)
.innerText = 'Remote Procedure Call';
setStyleName(this$static.val$serverResponseLabel.element,
'serverResponseLabelError', false);
this$static.val$serverResponseLabel.element.innerHTML = result || '';
$center(this$static.val$dialogBox);
$setFocus(this$static.val$closeButton, true);
}
更多精彩
赞助商链接