2010-03-19 9 views
5

Otrzymałem zadanie dodania pewnej użyteczności do jednej z naszych aplikacji, tj. upewnij się, że każda kontrolka ma klawisz skrótu i ​​że można do nich dotrzeć przez "przechodzenie" po stronie.Wbudowany obiekt pdf kradnie ostrość i nie pozwoli mu odejść.

Gui działa w IE. kontrola na winform i składa się ze stron asp.net, więc w zasadzie jest to po prostu asp.net zawsze działający w przeglądarce internetowej.

Moim problemem jest to, że jedna ze stron ma osadzone pdf w nim tak:

<object tabindex="-1" height="273" width="663" type="Application/pdf" 
data="showpdf.ashx#navpanes=0"></object> 

showpdf.ashx jest HttpHandler, że strumieni zawartości PDF do odpowiedzi. W żaden sposób nie obsługuje ostrości.

Teraz, gdy uruchamiam tę stronę, aplikacja pdf kradnie ostrość, bez względu na to, co zrobię, aby ustawić go na inny kontroler. A kiedy się skupi, nie mogę tego cofnąć z klawiaturą. Tylko kliknięcie myszką na stronie spowoduje ustawienie innej kontrolki.

Próbowałem ustawić fokus w kodzie za OnPreRender lub w jevescript, ale bez powodzenia. Wygląda na to, że procedura obsługi http zawsze działa po wszystkich innych kodach i ustawia fokus na obiekcie pdf.

Każda myśl będzie bardzo ceniona.

+0

Wygląda na to, że nie ma to miejsca podczas pracy z programem Acrobat Reader 7. Z pewnością dzieje się to na Czytniku 9 –

+0

Jeśli ustawię styl: niewidoczny na obiekcie, a następnie ustawię styl: visible onload, jestem w stanie ustawić fokus z javascript . Problem polega na tym, że muszę go ustawić po zakończeniu ładowania obiektu ... –

+0

Użyj timera i poczekaj kilka sekund, aż się załaduje, a następnie ustaw go jako widoczny. –

Odpowiedz

1

Niestety, nie ma prawdziwego sposobu rozwiązania tego problemu, ponieważ nie można zmienić zachowania Adobe Reader. Jest to znany problem.