Jump to content
  • 0

Style.Cursor


Sisko
 Share

Question

Доброго времени суток. Суть задачи: есть swf файл, при наведении на который необходимо сделать смену внешнего ввида курсора. Код:

<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" onmouseover="style.cursor='pointer';" onmouseup="document.location='<%=RedirectUrl %>';" width="300" height="300">

<param name="movie" value="<%=ImageUrl %>" />

<param name="wmode" value="transparent" />

<!--[if !IE]>-->

<object type="application/x-shockwave-flash" onmouseup="document.location='<%=RedirectUrl %>';" onmouseover="style.cursor='pointer';" data="<%=ImageUrl %>" width="300" height="300">

<param name="wmode" value="transparent" />

<!--<![endif]-->

<a href="<%=RedirectUrl%>"><img alt="Banner" style="border: none;" src="<%=AltImageUrl %>" alt="YOUR TEXT HERE" /></a>

</object>

</object>

Пробовал вначале реализовать через div слой, расположенный поверх флешки, и css свойство cursor:pointer/hand. Но такой способо не сработал. На даный момент код выше работает только в опере(sic!). Сам event mouseover ловится всеми браузерами (делал alert по событию), а вот смена курсора не работает. Бьюсь уже целый день, от безисходности даже здесь зарегестрировался. Помогите господа и дамы :)

Edited by Sisko
Link to comment
Share on other sites

15 answers to this question

Recommended Posts

  • 0

onmouseover="style.cursor='pointer';"

Заменить на:

onmouseover="this.style.cursor='pointer';"

Пробовал, результат тот же - только опера отображает верно :angry:

Значит дело в самом object, может стоит повесить на другой тег, т.е. object обернуть в див, если так можно.

Link to comment
Share on other sites

  • 0

onmouseover="style.cursor='pointer';"

Заменить на:

onmouseover="this.style.cursor='pointer';"

Пробовал, результат тот же - только опера отображает верно :angry:

Значит дело в самом object, может стоит повесить на другой тег, т.е. object обернуть в див, если так можно.

А я так вначале и сделал, заключил в div с z-index 1 (у object 0) сделал позиционирование relative и absolute (у флехи), и растянул div пошире, для наглядности. В итоге где флеха - курсор стандартный, а за её областью он меняется. Т.е. div не перекрыл object (судя по всему), но почему mouseover работать не хочет - загадка настоящая :blink:

а в CCS это не получится прописать?

Делал, как раз когда div помещал над object'ом, да и просто в самих тегах прописывал style=. Не работало, правда проверял тогда только в ie, но он в большей степени и нужен.

Edited by Sisko
Link to comment
Share on other sites

  • 0

можешь прилепить архив всего файла? попробую у себя

Это кусок из разметки web parta шейрпоинтовского, там по сути только этот кусок кода и есть.

<% if (!string.IsNullOrEmpty(ImageUrl))
{
if (!string.IsNullOrEmpty(RedirectUrl))
{
if (System.IO.Path.GetExtension(ImageUrl) == ".swf" && !string.IsNullOrEmpty(AltImageUrl))
{ %>
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" onmouseup="document.location='<%=RedirectUrl %>';" width="300" height="300">
<param name="movie" value="<%=ImageUrl %>" />
<param name="wmode" value="transparent" />

<!--[if !IE]>-->
<object type="application/x-shockwave-flash" onmouseup="document.location='<%=RedirectUrl %>';" data="<%=ImageUrl %>" width="300" height="300">
<param name="wmode" value="transparent" />

<!--<![endif]-->
<a href="<%=RedirectUrl%>"><img alt="Banner" style="border: none;" src="<%=AltImageUrl %>" /></a>
</object>
</object>
<% }
else
{ %>
<a href="<%=RedirectUrl%>">
<img alt="Banner" style="border: none;" src="<%= ImageUrl %>" />
<% if (!string.IsNullOrEmpty(RedirectUrl))
{ %></a><% } %>
<% }
}%>
<% } %>

Тоже думаю, что всё дело в object, сегодня еще помучаюсь, если не получится, попробую переделать в swfobject, авось с ним повезет

Edited by Sisko
Link to comment
Share on other sites

  • 0

что-то всю голову сломал :)

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

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

Была еще беда с кликом по флешке, по умолчанию она его не воспринимает. Перерыл сотни страниц гугла, куча решений не помогло, даже click ивент, сработал лишь mouseup. У меня такое ощущение, будто где-то накосячил я, либо шарик (sharepoint) добавляет свою разметку поверх моей. Но в конечном коде (после визуализации веб парта), я такого не увидел.

Либо моя виртуальная машина сошла с ума :D

Edited by Sisko
Link to comment
Share on other sites

  • 0

кстати, а с валидностью кода у тебя всё нормально? Смотрю код... Если это Осёл, то появляется новый тэг объекта. Потом конец проверки и закрывается тэг объекта.. Получается что закрывающийся тэг вынесен за условие. Т.е. если это не Осёл, то будет два закрывающихся тэга

Link to comment
Share on other sites

  • 0

кстати, а с валидностью кода у тебя всё нормально? Смотрю код... Если это Осёл, то появляется новый тэг объекта. Потом конец проверки и закрывается тэг объекта.. Получается что закрывающийся тэг вынесен за условие. Т.е. если это не Осёл, то будет два закрывающихся тэга

Да действительно, есть тут промашка, студия зараза внимания на это не обратило. К сожалению делу это не помогло. Кстати раз уж такая пляска пошла, может ответите заодно, почему ff не хочет показывать флешку, если не указаны размеры? Остальные браузеры отображают её с оригинальными размерами.

Link to comment
Share on other sites

  • 0

Sisko, почитай это

http://www.xhtml.co.il/ru/HTML5/object

может Лиса стала больше следовать спецификациям :) в общем нужно смотреть что у тебя в заголовке HTML докмента

Edited by Gold Dragon
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy