내 HTML 파일에 문자열 값을 반환하는 javascript 함수 xxx_return()이 있습니다. Java 레이어에서이 값을 가져올 수있는 방법이 있습니까?SWT에서 Javascript 함수와 대화하는 방법
이 html을 표시하려면 SWT 쉘을 사용하고 있습니다. SWT는 스크립트 기능의 반환 값을 얻기 위해 모든 기능을 수행합니까?
편집 :
내 코드는 다음과 같은 것입니다 : 패키지 test.html.simulation;
import org.eclipse.swt.SWT;
import org.eclipse.swt.SWTException;
import org.eclipse.swt.browser.Browser;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;
public class BrowserExample{
public static void main(String[] args)
{
Display display = new Display();
final Shell shell = new Shell(display);
String html="";
Object ob=null;
shell.setText("Browser Example");
shell.setSize(500, 350);
final Browser browser = new Browser(shell, SWT.NONE);
browser.setBounds(5, 75, 600, 400);
browser.setUrl("http://localhost/test/tryxml.html");
shell.open();
//System.out.println(browser.getUrl());
//try
{
html=(String)browser.evaluate("returnHTML();");
}/*catch(SWTException e)
{
System.out.println(e.getMessage());
}*/
System.out.println(html);
while (!shell.isDisposed()) {
if (!display.readAndDispatch())
display.sleep();
}
display.dispose();
}
이 코드는 나에게 SWT의 예상 객체와 같은 예외 제공 :
<script>
function returnHTML()
{
var str=document.body.innerHTML;
//alert(str);
return str;
}
</script>
사람이 찾을 수 : 내가 좋아하는 스크립트 태그의 기능을 작성한 자바 스크립트에서
Exception in thread "main" org.eclipse.swt.SWTException: Object expected
at org.eclipse.swt.browser.WebBrowser$EvaluateFunction.function(Unknown Source)
at org.eclipse.swt.browser.WebSite.Invoke(Unknown Source)
at org.eclipse.swt.browser.WebSite$7.method6(Unknown Source)
at org.eclipse.swt.internal.ole.win32.COMObject.callback6(Unknown Source)
at org.eclipse.swt.internal.ole.win32.COM.VtblCall(Native Method)
at org.eclipse.swt.internal.ole.win32.IDispatch.Invoke(Unknown Source)
at org.eclipse.swt.ole.win32.OleAutomation.invoke(Unknown Source)
at org.eclipse.swt.ole.win32.OleAutomation.invoke(Unknown Source)
at org.eclipse.swt.browser.IE.execute(Unknown Source)
at org.eclipse.swt.browser.WebBrowser.evaluate(Unknown Source)
at org.eclipse.swt.browser.Browser.evaluate(Unknown Source)
at test.html.simulation.BrowserExample.main(BrowserExample.java:29)
을 이 오류? 나는 그것이 오류를 치는 곳을 이해하지 못한다.
감사합니다.
내 질문을 편집했습니다. 내가 말했듯이,하지만 그것은 내게 예외를 준다. 감사 오류 – Kris
IE9에서'Browser # evaluate' 및 null 반환 값에 관한 버그가 있습니다 : https://bugs.eclipse.org/bugs/show_bug.cgi?id=344597. 이 문제를 해결하려면'Browser.evaluate ("foo() ||"; ")'이것을 상수 문자열을 반환하는 Javascript 함수로 간소화 할 수 있습니까? 그것은 성공합니까? –
javascript에서 String을 검색 할 수 있는데, evaluate을 Browser.evaluate ("return foo()"); – Kris