Я делаю игру с html и JavaScript. Система сохранения включена в игру, которую я сделал с помощью localStorage. Когда я открываю html-файл с моего компьютера, все идет хорошо. Все сохраняет в localStorage, и все загружается отлично ... Но когда я загружал файлы на свой сайт, где находится игра. На каждое значение приходит NaN ... Я знаю, что это означает «Не номер», но я не понимаю. Почему это работает на моем компьютере, но не на моем веб-сайте?JavaScript localStorage NaN error
Это экономия и загрузка части игры!
var save_format=1;
function save(){
localStorage.setItem("game_saved_before", save_format);
localStorage.setItem("Money", Money);
localStorage.setItem("DrinksSold", DrinksSold);
localStorage.setItem("Price", Price);
localStorage.setItem("Plants", Plants);
localStorage.setItem("CompetitorBonus", CompetitorBonus);
localStorage.setItem("Meals", Meals);
localStorage.setItem("MealsLeft", MealsLeft);
localStorage.setItem("MealCost", MealCost);
localStorage.setItem("Werknemers", Werknemers);
localStorage.setItem("WerknemerCost", WerknemerCost);
localStorage.setItem("nextCostWerknemer", nextCostWerknemer);
localStorage.setItem("StreetLicenses", StreetLicenses);
localStorage.setItem("StreetLicensesHomeTown", StreetLicensesHomeTown);
localStorage.setItem("StreetLicenseCost", StreetLicenseCost);
localStorage.setItem("nextCostStreetLicense", nextCostStreetLicense);
localStorage.setItem("HigherPriceCost", HigherPriceCost);
localStorage.setItem("nextHigherPriceCost", nextHigherPriceCost);
localStorage.setItem("PlantCost", PlantCost);
localStorage.setItem("nextPlantCost", nextPlantCost);
localStorage.setItem("nextMealCost", nextMealCost);
localStorage.setItem("DestroyCompetitorCost", DestroyCompetitorCost);
}
function load_game(){
if(parseInt(localStorage.getItem("game_saved_before") === save_format){
if(localStorage.getItem("game_saved_before") !== null){
// or:
if(localStorage["game_saved_before"] !== undefined){
// or:
if(typeof(localStorage.getItem("game_saved_before")) !== "string"){
Money = parseInt(localStorage.getItem("Money"));
DrinksSold = parseInt(localStorage.getItem("DrinksSold"));
Price = parseFloat(localStorage.getItem("Price"));
Plants = parseInt(localStorage.getItem("Plants"));
CompetitorBonus = parseInt(localStorage.getItem("CompetitorBonus"));
Meals = parseInt(localStorage.getItem("Meals"));
MealsLeft = parseInt(localStorage.getItem("MealsLeft"));
MealCost = parseInt(localStorage.getItem("MealCost"));
Werknemers = parseInt(localStorage.getItem("Werknemers"));
WerknemerCost = parseInt(localStorage.getItem("WerknemerCost"));
nextCostWerknemer = parseInt(localStorage.getItem("nextCostWerknemer"));
StreetLicenses = parseInt(localStorage.getItem("StreetLicenses"));
StreetLicensesHomeTown = parseInt(localStorage.getItem("StreetLicensesHomeTown"));
StreetLicenseCost = parseInt(localStorage.getItem("StreetLicenseCost"));
nextCostStreetLicense = parseInt(localStorage.getItem("nextCostStreetLicense"));
HigherPriceCost = parseInt(localStorage.getItem("HigherPriceCost"));
nextHigherPriceCost = parseInt(localStorage.getItem("nextHigherPriceCost"));
PlantCost = parseInt(localStorage.getItem("PlantCost"));
nextPlantCost = parseInt(localStorage.getItem("nextPlantCost"));
nextMealCost = parseInt(localStorage.getItem("nextMealCost"));
DestroyCompetitorCost = parseInt(localStorage.getItem("DestroyCompetitorCost"));
}
}
}
}
}
load_game();
setInterval(save,1000);
Я думал, это потому, что я не могу добраться туда localStorage? Пожалуйста, помогите мне, мне это действительно нужно, и я пытался найти ответ в течение нескольких дней.
Что такое питание, деньги и т. Д. когда вы вызываете save? Они даже инициализированы? – ivan
Как вопрос вопроса Ивана - что происходит, когда вы добавляете следующее в начале своей функции loadGame? console.log ('money:', localStorage.getItem («Деньги»)); – Tim
Ну, это экономит каждую секунду? так ли имеет значение, если они вначале бесплодны ни с чем? Все переменные хранятся с номерами ... – TheoDePro