Javascript-форум (https://javascript.ru/forum/)
-   Javascript под браузер (https://javascript.ru/forum/css-html/)
-   -   Не воспринимает код скрипта на некоторых маках. (https://javascript.ru/forum/css-html/21338-ne-vosprinimaet-kod-skripta-na-nekotorykh-makakh.html)

Astervinus 05.09.2011 20:40

Не воспринимает код скрипта на некоторых маках.
 
Есть подобный код на странице:
<script>

	//Формирование формы по данным о товарах, полученных через PHP
	var itemsData = {};
	fillItemsData({"1":{"rate":144, "add":0, "select_min":800, "sale":0, "pos":"MMCS", "positions":{"2":{"soc_money":18, "money":2592, "money_add":0, "sale":0, "pos":"MMC18", "artifact_add_title":"", "t1":"Change ", "t2":" credits on ", "t3":" Mystery Manor Coins", "art_text":""}, "3":{"soc_money":50, "money":7200, "money_add":360, "sale":0, "pos":"MMC50", "artifact_add_title":"", "t1":"Change ", "t2":" credits on ", "t3":" Mystery Manor Coins", "art_text":""}, "4":{"soc_money":100, "money":14400, "money_add":800, "sale":0, "pos":"MMC100", "artifact_add_title":"", "t1":"Change ", "t2":" credits on ", "t3":" Mystery Manor Coins", "art_text":""}, "5":{"soc_money":200, "money":28800, "money_add":1800, "sale":0, "pos":"MMC200", "artifact_add_title":"", "t1":"Change ", "t2":" credits on ", "t3":" Mystery Manor Coins", "art_text":""}, "6":{"soc_money":500, "money":72000, "money_add":4200, "sale":0, "pos":"MMC500", "artifact_add_title":"", "t1":"Change ", "t2":" credits on ", "t3":" Mystery Manor Coins", "art_text":""}, "7":{"soc_money":1000, "money":144000, "money_add":8800, "sale":0, "pos":"MMC1000", "artifact_add_title":"", "t1":"Change ", "t2":" credits on ", "t3":" Mystery Manor Coins", "art_text":""}, "8":{"soc_money":2000, "money":288000, "money_add":17000, "sale":0, "pos":"MMC2000", "artifact_add_title":"", "t1":"Change ", "t2":" credits on ", "t3":" Mystery Manor Coins", "art_text":""}}}, "2":{"rate":1, "add":0, "select_min":800, "sale":0, "pos":"MMDS", "positions":{"2":{"soc_money":18, "money":18, "money_add":0, "sale":0, "pos":"MMD18", "artifact_add_title":"", "t1":"Change ", "t2":" credits on ", "t3":" Mystery Manor Diamonds", "art_text":""}, "3":{"soc_money":50, "money":50, "money_add":1, "sale":0, "pos":"MMD50", "artifact_add_title":"", "t1":"Change ", "t2":" credits on ", "t3":" Mystery Manor Diamonds", "art_text":""}, "4":{"soc_money":100, "money":100, "money_add":3, "sale":0, "pos":"MMD100", "artifact_add_title":"", "t1":"Change ", "t2":" credits on ", "t3":" Mystery Manor Diamonds", "art_text":""}, "5":{"soc_money":200, "money":200, "money_add":7, "sale":0, "pos":"MMD200", "artifact_add_title":"", "t1":"Change ", "t2":" credits on ", "t3":" Mystery Manor Diamonds", "art_text":""}, "6":{"soc_money":500, "money":500, "money_add":18, "sale":0, "pos":"MMD500", "artifact_add_title":"", "t1":"Change ", "t2":" credits on ", "t3":" Mystery Manor Diamonds", "art_text":""}, "7":{"soc_money":1000, "money":1000, "money_add":40, "sale":0, "pos":"MMD1000", "artifact_add_title":"", "t1":"Change ", "t2":" credits on ", "t3":" Mystery Manor Diamonds", "art_text":""}, "8":{"soc_money":2000, "money":2000, "money_add":85, "sale":0, "pos":"MMD2000", "artifact_add_title":"", "t1":"Change ", "t2":" credits on ", "t3":" Mystery Manor Diamonds", "art_text":""}}}});

	function fillItemsData(rawItemsData)
	{
		var item = null;
		for(var key0 in rawItemsData)
		{
			type_money = rawItemsData[key0];
			itemsData[type_money['pos']] = 
			{
				'rate':type_money['rate'],
				'add':type_money['add'],
				'sale':type_money['sale'],
				'pos':type_money['pos']
			};						

			for(var key1 in type_money.positions)
			{
				item = type_money.positions[key1];
				itemsData[item['pos']] = item;
			}
		}
	}
	 
	//открываем друзей для вручения подарков
	function reloadFriendsIFrame()
	{
              ...
	}

              ...
</script>


далее есть скрипты, которые обращаются к переменной itemsData

Работает практически у всех. Но есть небольшая часть пользователей, у которых вылетает ошибка:
Error: itemsData is not defined
у них же вылетает ошибка и Error: reloadFriendsIFrame is not defined, при обращении к этой функции.

у одного из них точно Мак + FF 6.0.1, у других неизвестно.

На тех маках, что есть у нас, все работает.

в чем может быть проблема? может ли это быть из-за длинной строки fillItemsData(.... ? или какие-то другие идеи?

devote 05.09.2011 21:47

Дождитесь загрузки DOM

Astervinus 06.09.2011 12:54

обработка скрипта начинается по событию body.onload


Часовой пояс GMT +3, время: 08:20.