這個有些變態的東西折磨了整兩天(最頭疼這種東西了),我遇到的是用gwt的frame的回來一個IOStream(html string),我要高亮html里的關鍵標記,并讓他們有事件,所以,我在返回IOStream之前進行攔截,并repleace關鍵標記,加上了高亮的屬性"background-color='yellow'", 加上了事件處理"onclick=\"javascript:window.top.clickFireEvent('Todd')" (就是這一塊,最讓我頭疼了,因為是個frame所以他們不在同一個窗口下);
在gwt中:
//gwt EntryPoint method
public void onModuleLoad() {
clickEventFire();
}
//This is jsni method
private static native void clickEventFire()/*-{
$wnd.clickEventFire = function(id){
@com.todd.Main::fireScriptEvent(Ljava/lang/String;)(name);
}
}-*/;
//This is a method for javascript call.
public static void fireScriptEvent(String name) {
System.out.println("My name is " + name);
}
別看短短幾句,真的是很頭疼的東西:)