浏览代码

fixed storage when cookies disabled : return null if getItem exception

Nicolas Cannasse 14 年之前
父节点
当前提交
d119c7eb55
共有 1 个文件被更改,包括 16 次插入2 次删除
  1. 16 2
      std/js/Storage.hx

+ 16 - 2
std/js/Storage.hx

@@ -35,11 +35,25 @@ extern class Storage {
 	public function key( index : Int ) : String;
 
 	public static inline function getLocal() : Storage {
-		return untyped try window['localStorage'] catch( e : Dynamic ) null;
+		var s : Storage;
+		try {
+			s = untyped window['localStorage'];
+			s.getItem('');
+		} catch( e : Dynamic ) {
+			s = null;
+		}
+		return s;
 	}
 
 	public static inline function getSession() : Storage {
-		return untyped try window['sessionStorage'] catch( e : Dynamic ) null;
+		var s : Storage;
+		try {
+			s = untyped window['sessionStorage'];
+			s.getItem('');
+		} catch( e : Dynamic ) {
+			s = null;
+		}
+		return s;
 	}
 
 }