2010-09-03 14 views
6

Zauważyłem ten błąd podczas tworzenia aplikacji Flash na platformie Windows. Jeśli wpisujesz tekst w polu tekstowym w swf Flasha działającym w przeglądarce Safari 5 w systemie Windows, naciśnij backspace przeglądarka przejdzie do poprzedniej strony w historii, zamiast wykonywać funkcję backspace - tutaj jest link do innego raportu tego jabłkowego bug -Błąd systemu Windows Safari 5 podczas korzystania z funkcji Backspace w aplikacji internetowej Flash

http://www.ruelke.org/blog-entry-138.html

Jak możemy obejść ten problem apple? Pozdrawiam

Odpowiedz

2

Co wmode używasz? Spróbuj ustawić wmode na opaque. Istnieje wiele błędów wprowadzanych z klawiatury podczas korzystania z wmode transparentnego.

+1

To rozwiązanie działa. – Robusto

+0

Tak, używam wmode przejrzystego .. dzięki, spróbuję tego. – undefined

0

Jaką wersję Flash Playera kierujesz? Zauważyłem, że nacisk na klawiaturę jest traktowany inaczej podczas publikowania w CS5.

0

Możesz użyć JavaScript do hi-jack kluczowego wydarzenia, zanim safari dostanie go. Wiem na pocztę yahoo (raczej denerwująco) cntrl-w zamyka zakładkę mail, a nie rzeczywistą zakładkę.

Coś takiego na keypress imprezy:

function preventBackspace(e) { 
    var evt = e || window.event; 
    if (evt) { 
     var keyCode = evt.charCode || evt.keyCode; 
     if (keyCode === 8) { 
      if (evt.preventDefault) { 
       evt.preventDefault(); 
      } else { 
       evt.returnValue = false; 
      } 
     } 
    } 
} 

zaczerpnięte z here

+0

To nie działa. Właśnie napotkałem ten błąd i próbowałem zabić propagację zdarzenia. Zostaje zabity na poziomie komponentu i nie jest uruchamiany na poziomie aplikacji (tak jak nie powinien), ale przechodzi do Safari. Ustawienie wmode = "opaque" rozwiązuje jednak problem. – Robusto

Powiązane problemy