Safari for Windows的兼容性

本文探讨了 Safari for Windows 的 Beta 版本在实际应用中遇到的问题,特别是在 JavaScript cookie 处理上的不兼容现象。这增加了开发者的调试工作量。
Safari for Windows果然问题多多。因为还是Beta版,有多点问题还是可以原谅的。比如遇到比较复杂的网页就很容易自动关闭。可以选择的功能也比较少。亮点是用户体验不错,在显示配置比较好的情况下,动画效果细腻,让我想起来一些科幻电影。我没有用过Mac,只观看了一些用户的操作,大概除了界面出色,用户体验佳,用来编程还不理想。

但是兼容性的问题就不是那么轻松处理了。用户中哪怕只有1%的用户使用Safari就要调试代码,还好Windows版本出来后调试可以方便些了。测试下来,大多数功能都能兼容,但有些却没有办法来处理。比如下面的代码:

<html>
<head>
</head>
<body>
    
<script language="JavaScript" type="text/javascript">
    
<!--
    
var Cookies = {
        init: 
function () {
            
var allCookies = document.cookie.split('');
            
for (var i=0;i<allCookies.length;i++{
                
var cookiePair = allCookies[i].split('=');
                
this[cookiePair[0]] = cookiePair[1];
            }

        }
,
        create: 
function (name,value,ms) {
            
if (ms) {
                
var date = new Date();
                date.setTime(date.getTime()
+(ms));
                
var expires = "; expires="+date.toGMTString();
            }

            
else var expires = "";
            document.cookie 
= name+"="+value+expires+"; path=/";
            
this[name] = value;
        }
,
        erase: 
function (name) {
            
this.create(name,'',-1);
            
this[name] = undefined;
        }

    }
;
    Cookies.init();
    
-->
    
</script>
    
<script language="JavaScript" type="text/javascript">
<!--
alert(Cookies[
'test']);
Cookies.create(
'test','ok',1000*60);
alert(
'cookie created');
window.location.href
=document.location.href;
//setTimeout("window.location.href=document.location.href;",1);
-->
    
</script>
</body>
</html>


在IE, FF, Opera下测试均能成功设置cookie。而Safari却显示undefined.这个用户有差不多的问题:http://www.webmasterworld.com/forum91/5359.htm

看来程序员的工作又要增加了,或者通知:现在本站还不支持Safari。但这不是长久之计。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值