1

SWT ブラウザを使用して html&javascript ファイルを Eclipse プラグインに埋め込もうとしています。

BrowserFunctionで読み込んだJavascriptで、Javaで宣言した関数を呼び出したいのですが、Javascriptが宣言した関数を認識しないようです。

これが私のコードのスニペットです:

@Override
public void createPartControl(Composite parent) {

    Browser browser = new Browser(parent, SWT.NONE);
    new ReadFileFunction(browser, "test");

    browser.setUrl("file:///C:/Users/asder/Desktop/timeline/index.html");

}

class ReadFileFunction extends BrowserFunction {

    public ReadFileFunction(Browser browser, String name) {
        super(browser, name);
    }

    @Override
    public Object function(Object[] arguments) {
        System.out.println("asdasdsdad");
        return "Hello";
    }

}

Javascriptの場合、私は次のものを持っています:

<script>    
    try {
        var result = test();
        alert(result);
    } catch(e) {
        alert('a java error occurred: ' + e.message);
    }
</script>

「test」という機能がないことを警告しているだけです。

誰でも私を助けることができますか?

ありがとう!

4

1 に答える 1

0

ガベージコレクションされていないことを確認することで、関数が定着するようにします。のようなもの: final BrowserFunction rff = new ReadFileFunction(browser, "test");
それは私のブラウザ機能のために私がしていることです...

于 2013-01-02T16:57:27.027 に答える