我正在使用GWT和SMartGWT構建一個Web應用程序,我需要集成一個用於圖片庫的外部腳本:http://slideshow.triptracker.net/。 我現在的嘗試是:GWT + SmartGWT + Javascript:外部腳本集成
ScriptInjector.fromUrl("http://slideshow.triptracker.net/slide.js").setCallback(
new Callback<Void, Exception>() {
public void onFailure(Exception reason) {
Window.alert("Script load failed.");
}
public void onSuccess(Void result) {
Window.alert("Script load success.");
}
}).inject();
之後,我調用這個方法:
代碼:
native static void example(String p) /*-{
$wnd.viewer = new $wnd.PhotoViewer();
$wnd.viewer.add(p)
$wnd.viewer.show(0);
}-*/;
這不會給任何錯誤,但照相館出現背後我的入口點佈局,所以它不可能使用它。
所以,我試圖找到一個解決方法,我想引用Javasript的主要佈局,以運行該腳本。這可能嗎?我試着
foo.getElement().getId();
但它返回我像
isc_VLayout_0_wrapper
然而,JavaScript不喜歡它。
然後我試圖
foo.getDOM.getId();
isc_1
但結果並沒有改變。
有人可以幫我解決這個問題嗎? 謝謝。
你是什麼意思與後面之前調用
.setWindow(ScriptInjector.TOP_WINDOW)
?它在你的DOM中,但是z-index錯誤?在這種情況下,關於scriptinjection的所有內容都可以正常工作。我認爲你需要展示一些你的佈局代碼。 –我的意思是它在後臺,放在頁面其餘部分的「後面」層,這使得它不可見。 – Manu