任何人都知道为什么这个set / get cookie脚本在Unity WebGL中不起作用? 脚本存储为Unity项目中的javascript插件。
从C#调用时,脚本不会设置cookie。
我称之为设置cookie,然后当我回到同一个站点并尝试读取cookie时,它们不存在 - 只返回空白。
setCookie: function (cname, cvalue, exdays) {
var d = new Date();
d.setTime(d.getTime() + (exdays*24*60*60*1000));
var expires = "expires="+ d.toUTCString();
document.cookie = cname + "=" + cvalue + ";" + expires + ";path=/";
console.log('set cookie='+document.cookie);
}
getCookie: function (cname) {
var ret="";
var name = cname + "=";
var decodedCookie = decodeURIComponent(document.cookie);
console.log('get cookie='+decodedCookie);
var ca = decodedCookie.split(';');
for(var i = 0; i <ca.length; i++) {
var c = ca[i];
while (c.charAt(0) == ' ') {
c = c.substring(1);
}
if (c.indexOf(name) == 0) {
ret=c.substring(name.length, c.length);
break;
}
}
var buffer = _malloc(lengthBytesUTF8(ret) + 1);
writeStringToMemory(ret, buffer);
return buffer;
},
以下是我打电话给他们的方式。
using System.Runtime.InteropServices;
public class LocalLogin : MonoBehaviour {
[DllImport("__Internal")]
private static extern string getCookie(string name);
[DllImport("__Internal")]
private static extern void setCookie(string cname, string cvalue, int exdays);
void Start() {
setCookie("session","ruh3uhnoh",7);
setCookie("userID","id123",7);
string session=getCookie("session);
string id=getCookie("userID");
....
}
两者都是空白的。有谁知道发生了什么?我在firefox中尝试过它。
由于