Kann jemand den "gesteuerten eingebetteten Browser" in SWT verwenden, der Seitenmanipulation erlaubt? Ich kann nur Informationen darüber finden, wie man den normalen SWT-Browser benutzt, aber ich muss in der Lage sein, mit der geladenen Seite zu interagieren. Vielen Dank. So - http://publib.boulder.ibm.com/infocenter/btt/v7r0/index.jsp?topic=%2Fcom.ibm.btt.application_presentation.doc_7.0%2Fdoc%2Freference%2Frichclient%2Fcontrolembededbrowser.html - aber es gibt keine Anweisung, wie man eine solche Klasse einleitet.Verwenden des kontrollierten eingebetteten Browsers in SWT
Antwort
Hier ist ein example von Eclipse SWT snippets website
Auch dieser Beitrag könnte Ihnen einen Einblick auf diese geben. Using Java Objects in JavaScript in Eclipse SWT Browser Control
Um Java-Objekt von Eclipse JavaScript belichten, müssen Sie eine Klasse erstellen, die BrowserFunction erstreckt. Der Konstruktor dieser Klasse benötigt zwei Argumente. die erste ist Browser-Instanz und zweite ist der Name der Funktion, die in JavaScript-Code ausgeführt wird, die SWT-Browser-Steuerung zur Verfügung stehen wird ... ...
Code-Snippet
BrowserFunction:
import java.io.File;
import org.eclipse.swt.browser.Browser; import org.eclipse.swt.browser.BrowserFunction;
public class ListFilesFunction extends BrowserFunction {
Browser browser = null;
String functionName = null;
public ListFilesFunction(Browser browser, String name) {
super(browser, name);
this.browser = browser;
this.functionName = name;
}
public Object function (Object[] args)
{
if (args.length == 0)
browser.execute("alert('Function " +
functionName + " requires one argument - parent folder path');");
File file = new File(args[0].toString());
if (!file.exists())
browser.execute("alert('Folder " + args[0] +
" does not exist');");
if (!file.isDirectory())
browser.execute("alert('Path " + args[0] + " must be a folder');");
return file.list();
}
}
assoziiertes diese Funktion mit der Browser-Steuerung
public class View extends ViewPart
{
Browser browserCtl = null;
...
public void createPartControl(Composite parent) {
...
browserCtl = new Browser(parent, SWT.None);
new ListFilesFunction(browserCtl, "getFiles");
...
}
...
}
invoke diese Funktion von Jav aScript:
<html>
<head>
<script type='text/javascript'>
files = getFiles("c:/");
for (i = 0; i < files.length; i++)
{
document.writeln(files[i] + "<br>");
}
</script>
</head>
<body>
</body>
</html>
- 1. Spoofing des Benutzeragenten eines eingebetteten Safari-Browsers auf dem iPhone?
- 2. Verwenden des Browsers für die Desktop-Benutzeroberfläche
- 3. window.history.pushState Aktualisierung des Browsers
- 4. Aktualisierungsverhalten des Browsers
- 5. Tastenkombinationen des Browsers überschreiben
- 6. Zeitzone des Browsers ändern
- 7. Check Version des Browsers
- 8. fending borderries des Browsers
- 9. Anmeldung des Browsers
- 10. Java/SWT: So erhalten Sie Mausereignisse von einem eingebetteten Fenster
- 11. Einstellen des Medientyps eines Browsers
- 12. schmerzen des browsers zurück taste
- 13. Sprache der Website: Gebietsschema oder IP-Adresse des Browsers verwenden
- 14. JavaScript außerhalb des Browsers interpretieren?
- 15. Zurücksetzen der Taste des Browsers in C#
- 16. Bild in voller Breite des Browsers
- 17. Verwenden eines eingebetteten Formulars in Symfony2
- 18. Verwenden eines eingebetteten OSGi-Containers
- 19. Cache des Browsers über die Befehlszeile löschen
- 20. Zurück-Taste des Browsers nach dem Abmelden
- 21. Chunked Transfer-Codierung - Verhalten des Browsers
- 22. Wie Index Feld des eingebetteten Dokuments
- 23. JavaScript während (Sentinel kontrollierten Schleife) Fehler
- 24. Sitzung verloren beim Schließen des Browsers
- 25. Ermitteln der Höhe des eingebetteten HTML-Objekts
- 26. Ändern des Aussehens einer SWT-Registerkarte
- 27. Wie verspottet man die Zeitzone des Browsers?
- 28. Machen CSS-Medien-Abfrage verwenden Sie die Größe des HTML-Dokuments anstelle des Browsers?
- 29. serverseitige Umleitung ohne die Intervention des Browsers
- 30. Leerzeichen nach der Größenanpassung des Browsers
Entschuldigung, es ist sehr spät, aber danke. –
Es ist in Ordnung, meine Antwort ist auch zu spät :), aber hoffe, dass dies eine Referenz für andere sein kann – didxga