2010-03-19 8 views
5

Me dieron la tarea de agregar alguna usabilidad a una de nuestras aplicaciones, es decir. asegúrese de que cada control tenga una tecla de método abreviado, y de que se puede llegar a ellos "tabbing" en la página.El objeto pdf incrustado roba el foco y no lo deja ir

La interfaz gráfica de usuario se ejecuta en un IE. control en un winform, y consiste en páginas de asp.net, así que básicamente es solo asp.net siempre ejecutándose en Internet Explorer.

Mi problema es que una de las páginas tiene un pdf embebido en ella, así:

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

showpdf.ashx es un HttpHandler, que transmite el contenido PDF a la respuesta. No maneja el foco de ninguna manera.

Ahora cuando ejecuto esta página, la aplicación PDF roba el foco, no importa lo que haga para establecerlo en otro control. Y cuando toma enfoque, no puedo recuperarlo con el teclado. Solo un clic de ratón en la página lo establecerá en otro control.

He intentado establecer el foco en el código detrás de OnPreRender, o en jevescript, pero no tuve suerte. Parece que el manejador de http siempre se ejecuta después de todo el otro código y establece el foco en el objeto pdf.

Cualquier pensamiento sería muy apreciado.

+0

Parece que esto no ocurre cuando se ejecuta Acrobat Reader 7. Definitivamente sucede en Reader 9 –

+0

Si configuro style: invisible en el objeto y luego configuro style: visible onload, puedo establecer el foco desde javascript . El problema es que tengo que configurarlo después de que el objeto termine de cargar ... –

+0

Use un temporizador y espere unos segundos hasta que se cargue y ajústelo a visible. –

Respuesta

1

Lamentablemente, no hay una forma real de resolver esto, ya que no se puede cambiar el comportamiento de Adobe Reader. Este es un problema conocido.

Cuestiones relacionadas