2010-03-11 49 views
4

我試圖檢查是否啓用了Cookie,或者不使用JavaScript,跨瀏覽器。檢查使用JavaScript在IE8中啓用Cookie

我有這個工作使用在Firefox 3以下罰款代碼 -

var cookieEnabled=(navigator.cookieEnabled)? true : false; 

//if not IE4+ nor NS6+ 
if (typeof navigator.cookieEnabled=="undefined" && !cookieEnabled){ 
    document.cookie="testcookie"; 
    cookieEnabled=(document.cookie.indexOf("testcookie")!=-1)? true : false; 
} 

而且從我所看到的,這似乎是檢查cookie支持的合理建立的方法被打開?然而,它拒絕在IE8中工作,當我關閉cookies並運行這段代碼時,cookiesEnabled總是等於true。

任何想法?

謝謝。

+0

我在IE8上看到 - 即使我阻止所有cookie,並嘗試通過我的JavaScript代碼設置一個,它會被設置,我可以看到文件系統上的實際cookie。這個規則的一個例外是當我爲cookie設置一個域時,它沒有被設置。所以我想知道當通過本地HTML文件運行時,javascript和navigator.cookieEnabled是否會返回true - 但是如果要通過遠程Web服務器運行它(從域服務) - 它的行爲有所不同嗎? – JoseK 2010-03-11 10:54:58

回答

3

啊發現問題了。我正在測試我的軟件,通過導航到http://localhost ...

當然,IE將此視爲本地Intranet區域,並且不會將我的設置應用於Cookie,因此無論他們允許他們!

如果我通過本地迴環它把它作爲Internet區域和工作得很好:)

衛生署瀏覽到我的實際IP地址!