天天看點

Safari for Windows的相容性

Safari for Windows果然問題多多。因為還是Beta版,有多點問題還是可以原諒的。比如遇到比較複雜的網頁就很容易自動關閉。可以選擇的功能也比較少。亮點是使用者體驗不錯,在顯示配置比較好的情況下,動畫效果細膩,讓我想起來一些科幻電影。我沒有用過Mac,隻觀看了一些使用者的操作,大概除了界面出色,使用者體驗佳,用來程式設計還不理想。

但是相容性的問題就不是那麼輕松處理了。使用者中哪怕隻有1%的使用者使用Safari就要調試代碼,還好Windows版本出來後調試可以友善些了。測試下來,大多數功能都能相容,但有些卻沒有辦法來處理。比如下面的代碼:

Safari for Windows的相容性

< html >

Safari for Windows的相容性

< head >

Safari for Windows的相容性

</ head >

Safari for Windows的相容性

< body >

Safari for Windows的相容性
Safari for Windows的相容性

     < script  language ="JavaScript"  type ="text/javascript" > ...

Safari for Windows的相容性

    <!--

Safari for Windows的相容性
Safari for Windows的相容性

    var Cookies = ...{

Safari for Windows的相容性
Safari for Windows的相容性

        init: function () ...{

Safari for Windows的相容性

            var allCookies = document.cookie.split('; ');

Safari for Windows的相容性
Safari for Windows的相容性

            for (var i=0;i<allCookies.length;i++) ...{

Safari for Windows的相容性

                var cookiePair = allCookies[i].split('=');

Safari for Windows的相容性

                this[cookiePair[0]] = cookiePair[1];

Safari for Windows的相容性

            }

Safari for Windows的相容性

        },

Safari for Windows的相容性
Safari for Windows的相容性

        create: function (name,value,ms) ...{

Safari for Windows的相容性
Safari for Windows的相容性

            if (ms) ...{

Safari for Windows的相容性

                var date = new Date();

Safari for Windows的相容性

                date.setTime(date.getTime()+(ms));

Safari for Windows的相容性

                var expires = "; expires="+date.toGMTString();

Safari for Windows的相容性

            }

Safari for Windows的相容性

            else var expires = "";

Safari for Windows的相容性

            document.cookie = name+"="+value+expires+"; path=/";

Safari for Windows的相容性

            this[name] = value;

Safari for Windows的相容性

        },

Safari for Windows的相容性
Safari for Windows的相容性

        erase: function (name) ...{

Safari for Windows的相容性

            this.create(name,'',-1);

Safari for Windows的相容性

            this[name] = undefined;

Safari for Windows的相容性

        }

Safari for Windows的相容性

    };

Safari for Windows的相容性

    Cookies.init();

Safari for Windows的相容性

    -->

Safari for Windows的相容性

     </ script >

Safari for Windows的相容性
Safari for Windows的相容性

     < script  language ="JavaScript"  type ="text/javascript" > ...

Safari for Windows的相容性

<!--

Safari for Windows的相容性

alert(Cookies['test']);

Safari for Windows的相容性

Cookies.create('test','ok',1000*60);

Safari for Windows的相容性

alert('cookie created');

Safari for Windows的相容性

window.location.href=document.location.href;

Safari for Windows的相容性

//setTimeout("window.location.href=document.location.href;",1);

Safari for Windows的相容性

-->

Safari for Windows的相容性

     </ script >

Safari for Windows的相容性

</ body >

Safari for Windows的相容性

</ html >

在IE, FF, Opera下測試均能成功設定cookie。而Safari卻顯示undefined.這個使用者有差不多的問題:http://www.webmasterworld.com/forum91/5359.htm

看來程式員的工作又要增加了,或者通知:現在本站還不支援Safari。但這不是長久之計。

繼續閱讀