2010-07-23 3 views
0

Я реализовал SWT браузер на моем компьютере Windows 7 следующим образом:SWT браузер не прокручивать

Browser browser; 
try { 
    browser = new Browser(parent, SWT.NONE); 
    browser.setUrl(url); 
} catch (final SWTError e) { 
    System.out.println(e); 
} 

я перейти на страницу, которая содержит следующий исходный код:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> 
<body> 
    <div style="overflow:scroll;position:fixed;width:300px;height:300px;"> 
     <div style="height:1000px;">SWT won't scroll in this div</div> 
    </div> 
</body> 
</html> 

Он прекрасно показывает, используя кадр Internet Explorer 8 для рендеринга содержимого. Теперь вот что странно: с помощью моего scrollwheel прокрутка происходит с перерывами. После одного или двух поворотов (иногда больше, это кажется случайным), страница перестает прокручиваться.

Если я выход событие прокрутки в SWT, все события прокрутки выводится, даже если браузер не реагирует на них:

browser.addMouseWheelListener(new MouseWheelListener() { 
    public void mouseScrolled(final MouseEvent e) { 
     System.out.println(e); 
    } 
}); 

прокручивающееся проблема также возникает на другом компьютере с Windows Vista, и происходит только в divs с style="position:fixed;overflow;scroll;height:300px;width:300px;". Однако на Mac это не так.

Кажется, что виновником является Internet Explorer 8 или что-то среднее между SWT и браузером. Кто-нибудь еще сталкивается с этим? Есть идеи?

ответ

Смежные вопросы