\\$1 - это именно так, т.е. не подставляя значания, которое в $1...
Слушай, не поверишь!
Вчера у меня автоматом скачался последний Сервис Пак для W2k, и после установки, тут же заработало в MS IE 6.0.
Я уж не знаю, может я что-то подправил и сам не обратил внимания, но теперь и у меня работает...
Ладно, всем спасибо, теперь работает..
Кому интересно:
function serialize(obj) {
var str = new String();
str = \'{\';
i = 0;
for (var item in obj) {
str += (i > 0?\',\':\'\') + item + \':\' + getitemtype(obj[item]);
i++;
}
str += \'}\';
return str;
}
function unserialize(str) {
eval(\'obj = \' + str);
return obj;
}
function getitemtype(item) {
if(item === undefined) {
return "\'\'";
} else if(typeof(item) == \'object\') {
var ret = serialize(item);
return ret;
} else if(typeof(item) === \'number\') {
return item;
} else if(typeof(item) == \'string\') {
return "\'" + addslashes(item) + "\'";
} else if(typeof(item) == \'function\') {
//return item;
return "\'\'";
} else {
alert(\'Unknown serialize type: \' + typeof(item));
}
}
function addslashes (str) {
var reg1 = /(["\']{1})/g;
var reg2 = /[\\r]{1}/g;
var reg3 = /[\\n]{1}/g;
str = str.replace(reg1, "\\\\$1");
str = str.replace(reg2, "\\\\r");
str = str.replace(reg3, "\\\\n");
return str;
}
function stripslashes(str) {
re = /\\\\([\'"]{1})/g;
str = str.replace(re, \'$1\');
return str;
}