簡體   English   中英

java applet:如何從applet調用/訪問網頁的javascript變量?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM