2011-12-24 23 views
3

我需要幫助如何正確使用javascript:「document.cookie」或 如何在Android Web瀏覽器中使用JavaScript編寫cookie?Android中的「document.cookie」?

我確定在啓用cookie的設置中。當我使用「navigator.cookieEnabled」檢查 時,它也會返回true。

我有一段JavaScript代碼如下,一直在工作 無處不在 (例如PC瀏覽器,iPhone),但在Android中不起作用。

function createCookie(name) { 

// cookies expired in 1 year. 

var expDate = new Date(); 

expDate.setDate(expDate.getDate() + 365); 

expDate = expDate.toGMTString(); 

var el = document.getElementById(name); 

document.cookie = name + '=' + escape(el.value) + '; path=/ ;expires=' + expDate; 

document.cookie = name + '-idx=' + escape(el.selectedIndex) + ';path=/ ; expires=' + expDate; 

//alert('cookie : ' + document.cookie); 
} 

當我打開的代碼的最後一行的「警報」評論,Android將 只顯示空白,而 其他所有瀏覽器告訴我,我剛剛 寫入cookie的內容。

請幫忙。 謝謝。

+0

該代碼完全適用於PC瀏覽器,iPhone但Android僅顯示空白。你知道Android上的「document.cookie」是否有問題嗎?以及如何處理? – Blingue 2011-12-24 03:19:58

回答

1

好吧,現在我真的明白了(window.cookie,lol)。

只需刪除path定義中的空格即可。似乎在我的手機上工作。 編輯:把所有的字符串也放在一行上,我認爲它搞砸了解析。

function createCookie(name) { 

// cookies expired in 1 year. 

var expDate = new Date(); 

expDate.setDate(expDate.getDate() + 365); 

expDate = expDate.toGMTString(); 

var el = document.getElementById(name); 

document.cookie = name + '=' + escape(el.value) + '; path=/; expires=' + expDate; 

document.cookie = name + '-idx=' + escape(el.selectedIndex) + '; path=/; expires=' + expDate; 

//alert('cookie : ' + document.cookie); } 
+0

大聲笑(window.cookie),這很有趣!順便說一句,你節省了我的一天,非常感謝! – Blingue 2011-12-24 04:30:22

4

我得到這個東西的工作,爲Android 2.2,JavaScript的document.cookie中正常工作,只要確保在網頁視圖... JavaScript是像這樣啓用:

yourWebViewVariable.getSettings().setJavaScriptEnabled(true);

爲的Android 3.1只是添加到您的Java文件調用onLoadInit:

CookieManager.setAcceptFileSchemeCookies(true); //這是一個專門使得它的工作,因此其他行是可選的線路

CookieManager cookieManager = CookieManager.getInstance(); cookieManager.setAcceptCookie(true); cookieManager.acceptCookie();

而且,這裏是我發現當我試圖找出這個錯誤了,這可能是其他人想從Javascript變量發送到網頁視圖(Android本地語言有幫助的幾個環節),反之亦然。

http://android-er.blogspot.com/2011/10/run-android-java-code-from-webpage.html

http://android-er.blogspot.com/2011/10/call-javascript-inside-webview-from.html

感謝和古德勒克!