Дизайн и Верстка > Всё о Html
Двойной клик во Flash (IE)
Greg:
Не уврен, баг ли это HTML, но подозрения на него. Прикол в том, что баннеры при выводе на странице требуют не один клик, а 2 чтобы открыть ссылку. Фигня эта происходит из-за каких-то лицензионных споров вокруг ActiveX (точно не знаю). В общем, кто сталкивался с этой проблемой, которая возникает только в IE? в остальных, как всегда, все работает
Greg:
причем текст кода баннера () выводится через JS, см. пример на weather.prm.ru
brainkiller:
Первым кликом активируется ActiveX, а вторым уже производится действие.
Вроде как решено в swfobject
Greg:
brainkiller
это понятно. с swfobject показалось муторным делом, потому как крутилку пришлось бы переделывать нашел вот какое решение (вставляем в плавающей фрейм, в котром выводим баннер):
function initFlashObj()
{
var objs = document.getElementsByTagName(\'object\');
if (objs && objs.length)
{
for (var i = 0; i < objs.length; i++)
{
if (objs[i].getAttribute(\'classid\') == \'clsid:d27cdb6e-ae6d-11cf-96b8-444553540000\')
{
var params = objs[i].getElementsByTagName(\'PARAM\');
for (var j = 0; j < params.length; j++)
{
if (params[j].getAttribute(\'name\') == \'flashvars\')
{
var FlashVars = params[j].getAttribute(\'value\');
break;
}
}
var obj = objs[i].outerHTML + "\\n";
obj = obj.replace(/FLASHVARS" VALUE=""/i,\'FLASHVARS" value="\'+FlashVars+\'"\');
objs[i].outerHTML = obj;
}
}
objs = null;
}
}
в body фрейма прописываем:
onload="initFlashObj()"
показалось более простым решением
hanslinger:
ключевое слово — «показалось» :-)
Навигация
Перейти к полной версии