Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Проверка картинка или флэш (https://javascript.ru/forum/dom-window/36330-proverka-kartinka-ili-flehsh.html)

Kowabunga! 12.03.2013 12:30

Проверка картинка или флэш
 
в общем есть конфиг, в котором перечислены некие группы, в которых соответственно подгруппы и т.д.

Код:

'105' : {
                        'name' : 'группа',
                        'id' : '105',
                        'image' : 'изображение.gif',
                        '104' : {
                                'name' : 'подруппа',
                                'id' : '104',
                                'image' : 'изображение.gif',
                                'columns' : '2',
                                'rows' : '5',

и так далее...

В строку image прописывается сам объект. получается что и флешка и картинка, все в одну кучу.
Есть ли возможность как-то определить что за объект будет вставлен?
Ну, тоесть если флешка, то вставлять флеш, если картинка, то картинку соответственно.

вот такой код получается если только с картинками.
как флеш отдельно вставить понятно. а вот чтобы читалось и ставило на выбор, что указано...

function buildMainMenu()
{
		for (var x = 0; x < columns; x++)
		{
			if (arrayIndex < items.length)
			{
				var td = document.createElement("td");
				td.align = "center";
				td.valign = "middle";
				var img = document.createElement("img");
				img.border = 0;
				img.src = "./skins/default/i/" + items[arrayIndex].image;
				td.appendChild(img);
				td.arrayIndex = arrayIndex;
				td.onmousedown = mainMenuClick;
			}
			tr.appendChild(td);
			arrayIndex++;
		}
		tbody.appendChild(tr);
	
}



:help: :help: :help:

Kowabunga! 12.03.2013 18:07

выкрутился вот так.
var td = document.createElement("td");
                var img = document.createElement("div");
                imgpath = 'skins/default/i/' + items[arrayIndex].image;
                img.innerHTML = '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"  WIDTH=362 HEIGHT=174><PARAM NAME=movie VALUE="' + imgpath + '"><param name="wmode" value="transparent"><PARAM NAME=menu VALUE=false><PARAM NAME=quality VALUE=best></OBJECT>'
                td.appendChild(img);
                td.arrayIndex = arrayIndex;
                td.onmousedown = mainMenuClick;


теперь проблема другая.
в старых explorer'ах :-E :-E :-E вся разметка слетат напрочь. Походу innerHTML он не переваривает :-?
Как быть?

danik.js 12.03.2013 19:04

Вставлять картинки через object - не очень хорошая идея, я думаю. А что в ишаке в DOM-инспекторе видишь? Может стоит закрыть теги <param /> ? Хотя врядли.


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