2012-03-28 17 views
0

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

3

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> 
+0

Entschuldigung, es ist sehr spät, aber danke. –

+0

Es ist in Ordnung, meine Antwort ist auch zu spät :), aber hoffe, dass dies eine Referenz für andere sein kann – didxga

Verwandte Themen