[問題] Java Applet 傳回值

看板Ajax作者 (看文不要只會用橫的看)時間14年前 (2010/12/06 15:57), 編輯推噓0(006)
留言6則, 1人參與, 最新討論串1/1
我有一支Applet,會 System.out.string 回來。 我在HTML宣告這支Applet了。 但是在我alert(document.GetHardwareAddress.gma());時。 會說 There is no static Java method GetHardwareAddress. gma that matches JavaScript argument types (). Candidate methods with the same name are: void gma(java.lang.String[]) 我的APPLET如下: import java.net.*; import java.util.Enumeration; import java.applet.*; public class GetHardwareAddress extends Applet{ public static void main(String args[]) throws Exception { Enumeration interfaces = NetworkInterface.getNetworkInterfaces(); String sstr = ""; String sep = ":"; while (interfaces.hasMoreElements()) { NetworkInterface ni = (NetworkInterface) interfaces.nextElement(); NetworkInterface networkInterface = NetworkInterface.getByName(ni.getName()); byte[] b1 = networkInterface.getHardwareAddress(); if (b1!=null){ for (int i = 0; i < b1.length; i++){ if(i == 5){ sep = ""; } sstr = sstr + byteHEX(b1[i])+sep; } } } sstr = sstr.toUpperCase(); System.out.print(sstr+"\n"); } public static String byteHEX(byte ib) { char[] Digit = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a','b', 'c', 'd', 'e', 'f' }; char[] ob = new char[2]; ob[0] = Digit[(ib >>> 4) & 0X0F]; ob[1] = Digit[ib & 0X0F]; String s = new String(ob); return s; } } JAVASCRIPT & HTML 如下: <html> <head></head> <body> <!--[if !IE]> Firefox and others will use outer object --> <embed type="application/x-java-applet" name="GetHardwareAddress" ID = "GetHardwareAddress" width="0" height="0" code="GetHardwareAddress" archive="GetHardwareAddress.class" pluginspage="http://java.sun.com/javase/downloads/index.jsp" style="position:absolute; top:-1000px; left:-1000px;"> <noembed> <!--<![endif]--> <!----> <object classid="clsid:CAFEEFAC-0016-0000-FFFF-ABCDEFFEDCBA" type="application/x-java-applet" name="GetHardwareAddress" ID = "GetHardwareAddress" style="position:absolute; top:-1000px; left:-1000px;"> <param name="code" value="GetHardwareAddress"> <param name="archive" value="GetHardwareAddress.class" > <param name="mayscript" value="true"> <param name="scriptable" value="true"> <param name="width" value="0"> <param name="height" value="0"> </object> <!--[if !IE]> Firefox and others will use outer object --> </noembed> </embed> <!--<![endif]--> <script type="text/javascript"> function showme(){ alert(document.GetHardwareAddress.gma( )); } </script> <input type = "Button" onclick="showme();" value = "Get MAC Address"> </body> </html> 我該修改什麼地方呢? 感謝 ! -- 小惡魔的家 http://blog.pixnet.net/shiuju/ -- -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.124.142.152 averywu:轉錄至看板 java 12/06 15:58

12/07 08:45, , 1F
那個...我覺得為了防止偽造,你不要用js去回傳MAC
12/07 08:45, 1F

12/07 08:46, , 2F
用開發工具就可以看到你的整個回傳動作了
12/07 08:46, 2F

12/07 08:46, , 3F
這樣有防跟沒防一樣,直接在applet裡回傳吧!
12/07 08:46, 3F

12/07 08:54, , 4F
12/07 08:54, 4F

12/07 08:55, , 5F
這是silverlight讀MAC的方式,你如果applet遇到安全性
12/07 08:55, 5F

12/07 08:55, , 6F
問題,還是換別招吧,網路的安全性還是比單機程式高
12/07 08:55, 6F
文章代碼(AID): #1C_9Ti7R (Ajax)
文章代碼(AID): #1C_9Ti7R (Ajax)