基本上我有一个 Safari 扩展,我想向 Safari 6 提供与我用于 Safari 5.1 的代码略有不同的代码......
有没有办法可以从扩展中检测浏览器版本?
基本上我有一个 Safari 扩展,我想向 Safari 6 提供与我用于 Safari 5.1 的代码略有不同的代码......
有没有办法可以从扩展中检测浏览器版本?
如果您的 Safari 6 特定代码依赖于 Safari 6 中的新 API,您应该使用功能检测来确定您是否可以使用该功能。例如,如果您想处理 Safari 6 的新 Reader API:
var thisTab = safari.application.activeBrowserWindow.activeTab;
if (thisTab.reader) {
// do something with Reader
} else {
// do something else
}
如果功能检测对您不起作用,您可以使用window.navigator.appVersion
来确定 Safari 的主要版本。例如:
var majorVersion = /Version\/(\d+\.?\d*)/.exec(navigator.appVersion)[1];
但是特征检测总是更可取的。