inspect window(and Safari3と4の判定)
前回のをちょっと改良してwindowオブジェクトを解析してみた。
http://ss-o.net/test/window.html
で、Safari3からSafari4betaで新たに増えたグローバルプロパティを調べてみた。
getSearchEngine postMessage setSearchEngine CSSVariablesDeclaration CSSVariablesRule CanvasRenderingContext2D Clipboard DOMStringList File FileList HTMLCollection MessageEvent MimeType MimeTypeArray Plugin PluginArray Storage StorageEvent TextMetrics WebKitAnimationEvent WebKitCSSKeyframeRule WebKitCSSKeyframesRule WebKitCSSMatrix WebKitCSSTransformValue WebKitTransitionEvent Worker XMLHttpRequestUpload applicationCache localStorage onwebkitanimationend onwebkitanimationiteration onwebkitanimationstart onwebkittransitionend sessionStorage MessageChannel
うーん、Workerとか気になりますね。
で、グローバルオブジェクトでの Safari3 と Safari4 の判別(Google Chromeとの判別も含め)はこんな感じかな。
var isSafari3 = window.openDatabese && !window.postMessage; var isSafari4 = window.openDatabese && window.postMessage;
もしくは、
var isSafari3 = window.getMatchedCSSRules && !window.postMessage; var isSafari4_Chrome = window.getMatchedCSSRules && window.postMessage;
とか。