J'ai mis un navigateur SWT sur ma machine Windows 7 comme suit:navigateur SWT ne défile pas
Browser browser;
try {
browser = new Browser(parent, SWT.NONE);
browser.setUrl(url);
} catch (final SWTError e) {
System.out.println(e);
}
naviguer vers une page qui contient le code source suivant:
<!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>
Il apparaît magnifiquement en utilisant un cadre Internet Explorer 8 pour rendre le contenu. Maintenant, voici où les choses deviennent étranges: en utilisant ma molette, le défilement se produit par intermittence. Après un ou deux tours (parfois plus, cela semble aléatoire), la page arrête de défiler un peu.
Si la sortie I l'événement de défilement SWT, tous les événements de défilement sont émis, même lorsque le navigateur ne répond pas à eux
browser.addMouseWheelListener(new MouseWheelListener() {
public void mouseScrolled(final MouseEvent e) {
System.out.println(e);
}
});
La question de défilement se produit également sur une autre machine Windows Vista, et se produit uniquement dans divs avec style="position:fixed;overflow;scroll;height:300px;width:300px;"
. Sur Mac, cependant, ce n'est pas le cas.
Il semble que le coupable est Internet Explorer 8, ou quelque chose entre SWT et le navigateur. Est-ce que quelqu'un d'autre a rencontré cela? Des idées?