開発メモ

開発用のメモです。

JQuery で $.browser を 擬似的に追加する。 (古いプラグイン対応)

<script>
$(document).ready(function(){
   // MSIE 
   $.browser.msie    = (navigator.userAgent.match(/(MSIE|Trident)/ig)) != null;
   // safari
   $.browser.safari  = (navigator.userAgent.match(/Safari/ig)) != null;
   // mozilla
   $.browser.mozilla = (navigator.userAgent.match(/Mozilla/ig)) != null;
   // Opera
   $.browser.opera   = (navigator.userAgent.match(/Opera/ig)) != null;
   // Chrome
   $.browser.chrome  = (navigator.userAgent.match(/Chrome/ig)) != null;
   // Lunascape
   $.browser.lunascape = (navigator.userAgent.match(/Lunascape/ig)) != null;
   
   if ($.browser.lunascape) {
       if (navigator.appVersion.match(/Lunascape  [0-9]+/ig) != null) {
           $.browser.version = navigator.appVersion.match(/Lunascape [0-9]+/ig)[0].split("/")[1];
       }
       $.browser.version = parseFloat($.browser.version);
   } else if ($.browser.msie) {
       if (navigator.appVersion.match(/MSIE/ig) != null) {
           $.browser.version = navigator.appVersion.match(/MSIE [0-9.]+/ig)[0].split(" ")[1]; 
       } else {
           $.browser.version = navigator.appVersion.match(/rv:[0-9.]+/ig)[0].split(":")[1];
       }
       $.browser.version = parseFloat($.browser.version);
   } else if ($.browser.chrome) {
       if (navigator.appVersion.match(/Chrome[\x2F][0-9]+/ig) != null) {
           $.browser.version = navigator.appVersion.match(/Chrome[\x2F][0-9]+/ig)[0].split("/")[1];
       }
       $.browser.version = parseFloat($.browser.version);
   } else if ($.browser.safari) {
       if (navigator.appVersion.match(/Version[\x2F][0-9]+/ig) != null) {
           $.browser.version = navigator.appVersion.match(/Version[\x2F][0-9]+/ig)[0].split("/")[1];
       }
       $.browser.version = parseFloat($.browser.version);
   } else if ($.browser.mozilla) {
       if (navigator.appVersion.match(/Firefox[\x2F][0-9]+/ig) != null) {
           $.browser.version = navigator.appVersion.match(/Firefox[\x2F][0-9]+/ig)[0].split("/")[1];
       }
       $.browser.version = parseFloat($.browser.version);
   } else if ($.browser.opera) {
       if (navigator.appVersion.match(/Version[\x2F][0-9]+/ig) != null) {
           $.browser.version = navigator.appVersion.match(/Version[\x2F][0-9]+/ig)[0].split("/")[1];
       } else if (navigator.appVersion.match(/Opera[\x2F][0-9]+/ig) != null) {
           $.browser.version = navigator.appVersion.match(/Opera[\x2F][0-9]+/ig)[0].split("/")[1];
       } else if (navigator.appVersion.match(/Opera [0-9]+/ig) != null) {
           $.browser.version = navigator.appVersion.match(/Opera [0-9]+/ig)[0].split(" ")[1];
       }
       $.browser.version = parseFloat($.browser.version);
   } 
});
<script>
Twitter: @asahina_alice