这个有些变态的东西折磨了整两天(最头疼这种东西了),我遇到的是用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);
}
别看短短几句,真的是很头疼的东西:)