我必須將Java小程序集成到簡單的asp.net 2.0控件中。在長期治療回覆之前隱藏小程序
此applet是已購買的產品,無法修改。它包含一個旨在點擊以繼續的按鈕。按鈕點擊鏈接到JavaScript功能。
所以我們可以看到這個小程序是一個黑盒子,吃完數據後調用JS函數。
當JS函數被調用去下一頁時,我必須做一個回發。很簡單,我只需要寫它。但我也想隱藏小程序或包含它的div,因爲回發觸發了一些長時間的處理。重點在於,在等待時,用戶可以點擊小程序按鈕並再次觸發回發。
在我的JavaScript調用的函數,我試過很多解決方案:
- 製作2回發。當然,這是不行的,因爲回傳是頁面
- 隱藏/顯示DIV或使用JavaScript 小程序
- 隱藏/顯示DIV或使用jQuery 小程序
- 隱藏/顯示的重載div或小程序調用隱藏按鈕的Click事件,在後面的代碼中設置Visible = false
但它總是失敗:似乎web瀏覽器(IE 8.0或Chrome)等待回髮結束/ JS函數來更新頁面,並且不用擔心之前的一些UI更新。
所以我在這裏:
- 我需要回發去到下一個頁面(我不控制在使用我的控制整個環境)
- 我有隱藏的小程序,否則它的用戶可以重新點擊
- 我不能讓一個兩步的過程,就像在JS功能隱藏的小程序,並顯示一個鏈接到下一個頁面,包括一個新的點擊
我簡單的控制L:
<%@ Control Language="C#" AutoEventWireup="false" Codebehind="MyControl.ascx.cs"
Inherits="MyControl" %>
<div id="m_DivPostDisplay" runat="server">
<asp:Label ID="lblState" runat="server" Text="Displaying something like please wait..." />
</div>
<div id="m_DivAppletContainer" runat="server">
<applet name="myApplet" archive="./myJar.jar"
code="Main.class" height="700" width="530" mayscript>
</applet>
</div>
相關的JavaScript(當頁面加載注入):
<script language='javascript'>
function sendData(data) {
// This is where I try to hide the applet or the div
//.....
// Go to the next page
WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"nextButtonId\", \"\", true, \"\", \"\", false, true));
}
</script>
你有什麼可以做,以解決我的問題的任何想法? 謝謝:)
我嘗試了另一種方式:淡出網頁並顯示一個不錯的「加載請稍候」消息。但是applet不會淡出,並且applet缺少像flash的「wmode」這樣的參數。 所以我有一個很好的淡出頁面,在中間有一個閃亮的小程序... – Valryon 2012-01-20 14:37:52