Чтобы вернуть string
из Javascript в Unity, вы должны использовать _malloc
для выделения памяти, затем writeStringToMemory
, чтобы скопировать данные string
из вашей переменной v1[1]
в недавно выделенную память и затем вернуть ее.
GetUrl: function()
{
var s ="";
var strUrl = window.location.search;
var getSearch = strUrl.split("?");
var getPara = getSearch[1].split("&");
var v1 = getPara[0].split("=");
alert(v1[1]);
//Allocate memory space
var buffer = _malloc(lengthBytesUTF8(v1[1]) + 1);
//Copy old data to the new one then return it
writeStringToMemory(v1[1], buffer);
return buffer;
}
Функция writeStringToMemory
сейчас кажется устаревшей , но вы все равно можете сделать то же самое с stringToUTF8
и доказать размер строки в третьем аргументе.
GetUrl: function()
{
var s ="";
var strUrl = window.location.search;
var getSearch = strUrl.split("?");
var getPara = getSearch[1].split("&");
var v1 = getPara[0].split("=");
alert(v1[1]);
//Get size of the string
var bufferSize = lengthBytesUTF8(v1[1]) + 1;
//Allocate memory space
var buffer = _malloc(bufferSize);
//Copy old data to the new one then return it
stringToUTF8(v1[1], buffer, bufferSize);
return buffer;
}