2010-03-19 39 views
5

我被赋予了为我们的应用程序之一添加一些可用性的任务,即。确保每个控件都有一个快捷键,并且可以通过页面上的“切换”来访问它们。嵌入式pdf对象窃取焦点并且不会放过它

gui在IE中运行。控制一个winform,并由asp.net页面组成,所以基本上它只是asp.net总是在Internet Explorer中运行。

我的问题是,页面中的一个具有嵌入式PDF在里面,像这样:

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

showpdf.ashx是一个HttpHandler,该流的PDF内容的响应。它不以任何方式处理焦点。

现在,当我运行这个页面时,pdf应用程序窃取焦点,无论我如何设置它到另一个控件。当它注意力集中时,我无法用键盘取回它。只有在页面上点击鼠标才能将其设置为另一个控件。

我试着将代码放在OnPreRender后面或jevescript中,但没有运气。看起来,http处理程序总是在所有其他代码之后运行,并且它将焦点集中在pdf对象上。

任何想法将不胜感激。

+0

运行Acrobat Reader 7时似乎不会发生这种情况。它肯定发生在Reader 9上 – 2010-03-19 11:31:50

+0

如果我在对象上设置样式:不可见,然后设置style:visible onload,我可以将焦点设置为javascript 。问题是,我必须在对象完成加载后设置它... – 2010-03-30 19:52:43

+0

使用一个计时器并等待它加载几秒钟,然后将其设置为可见。 – 2011-09-02 19:40:08

回答

1

不幸的是,没有办法解决这个问题,因为无法更改Adobe Reader的行为。这是一个已知的问题。