2010-07-23 132 views
0

我已經在我的Windows 7機器上實現一個SWT瀏覽器如下: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框架來呈現精美的內容。現在,這裏是奇怪的地方:使用我的滾輪,滾動間歇發生。經過一兩圈(有時更多;看起來是隨機的),頁面停止滾動一下。

如果我輸出SWT的滾動事件,所有的滾動事件輸出,即使在瀏覽器不迴應他們:

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

滾動顯示的問題也會發生不同的Windows Vista計算機上,並只發生在style="position:fixed;overflow;scroll;height:300px;width:300px;"的div中。但在Mac上,它不會。

看來罪魁禍首是Internet Explorer 8,或者SWT和瀏覽器之間的東西。有其他人遇到這個?有任何想法嗎?

回答

0

在我看來,這是SWT中的一個錯誤。我打開了bug #321167