2010-03-19 6 views
5

On m'a confié la tâche d'ajouter une certaine facilité d'utilisation à l'une de nos applications, à savoir. assurez-vous que chaque contrôle a une touche de raccourci, et qu'ils peuvent être atteints en "tabulant" à travers la page.Objet pdf embarqué vole la mise au point et ne le laissera pas partir

Le GUI s'exécute dans un IE. contrôle sur un winform, et se compose de pages asp.net, donc, fondamentalement, il est juste asp.net toujours en cours d'exécution dans Internet Explorer.

Mon problème est que l'une des pages a un embeded pdf en elle, comme ceci:

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

showpdf.ashx est un HttpHandler, qui ruisselle le contenu PDF à la réponse. Il ne gère pas le focus de quelque façon que ce soit. Maintenant, lorsque j'exécute cette page, l'application pdf vole la mise au point, peu importe ce que je fais pour le régler à un autre contrôle. Et quand il faut se concentrer, je ne peux pas le reprendre avec le clavier. Seul un clic de souris sur la page le définira à un autre contrôle.

J'ai essayé de mettre le focus dans le code derrière OnPreRender, ou dans jevescript, mais pas de chance. Il semble que le gestionnaire http s'exécute toujours après tous les autres codes, et il met l'accent sur l'objet pdf.

Toute idée serait grandement appréciée.

+0

Il semble que cela ne se produise pas lors de l'exécution d'Acrobat Reader 7. Cela se passe vraiment sur Reader 9 –

+0

Si je place le style: invisible sur l'objet, puis définissez style: visible onload, je peux définir le focus depuis javascript . Le problème est que je dois le régler après que l'objet ait fini de se charger ... –

+0

Utilisez un minuteur et attendez quelques secondes pour le charger, puis réglez-le sur visible. –

Répondre

1

Malheureusement, il n'y a pas vraiment de solution à ce problème, car il est impossible de modifier le comportement des lecteurs Adobe. C'est un problème connu.

Questions connexes