【发布时间】:2010-12-30 02:06:45
【问题描述】:
我想知道是否可以从未签名的小程序向客户端写入 cookie。
【问题讨论】:
我想知道是否可以从未签名的小程序向客户端写入 cookie。
【问题讨论】:
是的,他们可以,您可以为此使用 JSObject。 这里的小提示,您需要将 jre/lib 目录中的 plugin.jar 添加到您的路径中才能编译。
阅读:
import netscape.javascript.JSObject;
String data = "";
String cookiename = "fooCookie";
JSObject myBrowser = JSObject.getWindow(this);
JSObject myDocument = (JSObject) myBrowser.getMember("document");
String myCookie = (String) myDocument.getMember("cookie");
if (myCookie.length() > 0) {
String[] cookies = myCookie.split(";");
for (String cookie : cookies) {
int pos = cookie.indexOf("=");
if (cookie.substring(0, pos).trim().equals(cookiename)) {
data = cookie.substring(pos + 1);
break;
}
}
}
写作:
String data = "test";
String cookiename = "fooCookie";
JSObject win = JSObject.getWindow(this);
JSObject doc = (JSObject) win.getMember("document");
String data = cookiename + "=" + data + "; path=/; expires=Thu, 31-Dec-2019 12:00:00 GMT";
doc.setMember("cookie", data);
别忘了在 Base64 中编码您的数据。
【讨论】: