[英]java applet: How to invoke/access javascript variable of web page from applet?
一個例子:
getAppletContext().showDocument(
new URL("javascript:alert(document.getElementById('textbox').value);"
));
除了要提醒此文本框值之外,我還想在applet程序中將此值進一步用作字符串變量。 我怎樣才能做到這一點?
針對不同方法的多種想法。 這里有一些:
將輸入字段放在小程序中。 您可以通過向其添加AWT組件(或者,當使用JApplet
時可以使用較新的Swing工具箱)在Applet中獲取輸入,而不是在HTML頁面中添加<input>
-tag。 盡管應該首選Swing。
當然,如果您不能更改小程序代碼,則不是一種選擇。
使用<param>
標記。 您可以通過在<applet>
-tag中使用<param>
-tag來為applet提供一些初始值(例如參數),如以下示例所示,來自tag-doc :
<applet code="A21" width="256" height="256" archive="toir.jar">
<param name="img" value="test.gif">
</applet>
但是,正如我所說,這些是初始值。 如果您在小程序已經運行時對其進行了更改,則小程序本身將不會更改。
因此,如果<input>
-tag中的值用於初始值,則可以使用此value
(並使用JS操作value
-attribute)。 如果要在運行小程序時更改值,則僅在重新啟動小程序時才有效(這可能不是最好的主意)。
使用“ Java到Java的通信”。 有一個介紹JSObject
類的文檔。 可以在這里找到。 還有“公共DOM API”,可用於訪問HTML頁面的DOM結構。 聽起來像您在尋找什么,但似乎有些過時了。
不錯,這似乎不是標准的(就像<applet>
-tag一樣),因此,某些瀏覽器可能沒有或沒有完全實現對此的支持。 您必須嘗試一下。
// provide a JS function to return the value of textbox
// call it to get the value..
String userInput = JOptionPane.showInputDialog(this, value, ..
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.