2009-02-26 7 views
7

Kiedy lampa błyskowa posiada klawiaturę, CTRL + T (tab nowy) i CTRL + N (nowe okno) są przechwytywane przez lampę błyskową.javascript dla nowej zakładki (CTRL + T), nowe okno (CTRL + N)?

Czy istnieje sposób przekazania tych zdarzeń do przeglądarki, aby działały (otwierając nową kartę, otwierając nową przeglądarkę) LUB czy istnieje polecenie javascript dla tych działań?

+0

Zawsze chciałem zadać to pytanie i zrobiłeś to dla mnie. Dzięki – Matias

Odpowiedz

2

To długotrwały problem z Flash i przeglądarkami. (I mam na myśli długie - sprawdź to eight-year-old bug w przeglądarkach Mozilla.) Problem polega na tym, że Flash przechwytuje wszystkie zdarzenia wejściowe, a nie przeglądarkę. Jest piaskownica w swoim środowisku i nie przekazuje zdarzeń z powrotem do przeglądarki.

Konceptualnie to niekoniecznie musi być złe. Co się stanie, gdy Flash chce słuchać zdarzenia "ctrl + n"? Czy przeglądarka powinna skupić się na Flashu, ponieważ używa już tego skrótu? Z pewnością dla twórców Flash byłoby to bardzo trudne.

Pojawiły się propozycje, jak rozwiązać ten problem, który widziałem w przypadku poszczególnych przeglądarek, ale nie ma rozwiązania typu "łapać wszystko". Na przykład w błędzie znajduje się this solution, ale oczywiście nie będzie działać tak, jak chcesz (ponieważ użytkownik będzie musiał przejść przez kilka kółek, aby go uruchomić).

Więc ... nie, na razie. Byłoby naprawdę fajnie, gdyby ten problem mógł zostać naprawiony.

+1

"Czy przeglądarka powinna skupić się na Flashu, ponieważ używa już tego skrótu?" - Tak! Flash jest "gościem" w "domu" przeglądarki. I szczególnie źle zachowany. :-) –

+0

Hahaha, nigdy wcześniej nie słyszałem analogii gości o wtyczkach, to całkiem niesamowite. –

1

Najbliższe można dostać jest mieć ActionScript wyzwalania Javascript by otworzyć puste okno do pustego URL

// We abstract it in a function here in case we want to 
// change it later 
function openBlankWindow() 
{ 
    window.open(''); 
} 

Dla większości ludzi, to uruchomi nowe okno lub nową kartę (w zależności od ich preferencji przeglądarki), ale ponieważ jest inicjowana przez stronę internetową, może podlegać blokowaniu wyskakujących okienek.

Nie można właściwie poprosić przeglądarki, aby wykonała jedno z dwóch zadań, o które pytasz. Byłbym koszmarem dla bezpieczeństwa/irytacji, gdyby strony internetowe posiadały uprawnienia/uprawnienia do tego.

+0

Nie sądzę, że chce dać Flashowi dostęp do przeglądarki, ponieważ chce, aby normalna funkcjonalność przeglądarki działała nawet wewnątrz Flasha. –

+0

Wiem o tym, dlatego pierwszą rzeczą, którą powiedziałem, było "najbliżej, jakie można dostać". Dopuszczenie, by polecenia klawiszowe wypychały film flash do przeglądarki, jest czymś, co może naprawić tylko Adobe. –

+0

Odpowiedziałem na twój ostatni akapit, a nie na resztę - reszta ma dla mnie sens. –

Powiązane problemy