JWorld@TW the best professional Java site in Taiwan
      註冊 | 登入 | 全文檢索 | 排行榜  

» JWorld@TW » Java 新手區  

按列印兼容模式列印這個話題 列印話題    把這個話題寄給朋友 寄給朋友    訂閱主題
reply to topicthreaded modego to previous topicgo to next topic
本主題所含的標籤
無標籤
作者 Javascript 呼叫 JApplet function
magicgro





發文: 46
積分: 0
於 2008-05-05 17:46 user profilesend a private message to usersend email to magicgroreply to postreply to postsearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
小弟我設計一個小程式 經由Javascript呼叫JApplet的method以及使用屬性。其中,屬性的存取沒有問題,可是method的存取卻無法通過,顯示的錯誤為"物件不支援此屬性或方法"。JApplet程式如下所示。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
public class FileCreate extends JApplet {
 
  private JPanel jContentPane = null;
  public String host = "";//host ip address  //  @jve:decl-index=0:
  public String downloadInfor = "";//Dwonload List and Account  //  @jve:decl-index=0:
  /**
   * This is the xxx default constructor
   */
  public FileCreate() {
    super();
  }
 
  /**
   * This method initializes this
   * 
   * @return void
   */
  public void init() {
    this.setSize(300, 200);
    this.setContentPane(getJContentPane());
    host = getParameter("Host");
  }
  
  public String returnStr() {
    return host;
  }
  
  //Save Download Information
  public void saveInfor() {
    String saveData = "";
    BufferedOutputStream bos = null;
    
    saveData += host+"*sp*";
    saveData += downloadInfor;
    
    try {
      bos = new BufferedOutputStream(new FileOutputStream("c:/DownloadList/"+getFileNameFromDate()));
      bos.write(saveData.getBytes());
      bos.close();
    }catch(IOException ioe) {
      //沒有資料夾,新建一個。
      File f = new File("c:/DownloadList/");
      f.mkdir();
      
      //重新存檔
      try {
                                                                bos = new BufferedOutputStream(new FileOutputStream("c:/DCRSDownload/"+getFileNameFromDate()));
        bos.write(saveData.getBytes());
        bos.close();
      }catch(IOException iioe) {}
      
    }
  }
 
}


Html中的Javascript如下:
1
2
3
4
5
6
7
8
9
10
11
12
<script language="JavaScript">
  document.write("<applet name='download_infor' code=FileCreate.class ARCHIVE ='DownloadInfor.jar' width='0' height='0'>");
  document.write("<param name=Host value='"+window.location.host+"'>");
  document.write("</applet>");
  
  //©I¥sJApplet«Ø¥ß¤U¸ü¸ê°T
  function Create_DownloadInfo(DInfor) {    
    document.download_infor.downloadInfor = DInfor;
    alert(document.download_infor.downloadInfor);
    alert(document.download_infor.getFileNameFromDate());
  };
</script>


請各位Java同好不吝賜教...。


reply to postreply to post
作者 Re:Javascript 呼叫 JApplet function [Re:magicgro]
honeyaaa





發文: 159
積分: 0
於 2008-05-06 00:53 user profilesend a private message to userreply to postreply to postsearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
如果你的程式是在Web-Server上,那Javascript不能呼叫有對本地端存取的JApplet,就算是加簽過也不行,要用其他的方式來達成。
你可以看一下你的主控台,是否有access denied 的 Exception。


honeyaaa edited on 2008-05-06 00:56
reply to postreply to post
努力,是成功唯一的途徑。
作者 Re:Javascript 呼叫 JApplet function [Re:magicgro]
magicgro





發文: 46
積分: 0
於 2008-05-06 09:07 user profilesend a private message to usersend email to magicgroreply to postreply to postsearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
我的程式不是執行在伺服器端,都是在客戶端。而對applet的屬性存取已經成功了,是方法的存取有問題。

reply to postreply to post
作者 Re:Javascript 呼叫 JApplet function [Re:magicgro]
honeyaaa





發文: 159
積分: 0
於 2008-05-06 12:18 user profilesend a private message to userreply to postreply to postsearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
那有沒有試過ARCHIVE 用絕對路徑呢??

reply to postreply to post
努力,是成功唯一的途徑。
作者 Re:Javascript 呼叫 JApplet function [Re:magicgro]
fillano





發文: 258
積分: 0
於 2008-05-06 18:19 user profilesend a private message to userreply to postreply to postsearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
好像沒看到getFileNameFromDate()這個方法?

reply to postreply to post
Sapere aude! Habe Mut, dich deines eigenen Verstandes zu bedienen! ist also der Wahlspruch der Aufklärung.
作者 Re:Javascript 呼叫 JApplet function [Re:magicgro]
magicgro





發文: 46
積分: 0
於 2008-05-06 23:27 user profilesend a private message to usersend email to magicgroreply to postreply to postsearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
其實是因為我省略了其他的程式,只有列出主要部份,後來發現問題出在哪裡了。
因為我可以取得與寫入屬性的值,所以沒有發現.jar的名稱有錯,原來問題只是出在小地方。
最後發現,javascript呼叫japplet的方法寫檔,即使japplet有簽證過,依然會被javascript的安全性限制檔下來,算是也有一點心的了解,謝謝各位同好的幫忙。程式碼是正確的,需要的朋友可以拿去用,但是要注意jar的名稱><。


reply to postreply to post
作者 Re:Javascript 呼叫 JApplet function [Re:magicgro]
honeyaaa





發文: 159
積分: 0
於 2008-05-06 23:55 user profilesend a private message to userreply to postreply to postsearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
magicgro wrote:
其實是因為我省略了其他的程式,只有列出主要部份,後來發現問題出在哪裡了。
因為我可以取得與寫入屬性的值,所以沒有發現.jar的名稱有錯,原來問題只是出在小地方。
最後發現,javascript呼叫japplet的方法寫檔,即使japplet有簽證過,依然會被javascript的安全性限制檔下來,算是也有一點心的了解,謝謝各位同好的幫忙。程式碼是正確的,需要的朋友可以拿去用,但是要注意jar的名稱><。


還是有方法來做到,就是要利用multi-Thread的方式來達成,爬一下板就有教學,因為我前一陣子也因為這問題所苦。


reply to postreply to post
努力,是成功唯一的途徑。
作者 Re:Javascript 呼叫 JApplet function [Re:honeyaaa]
magicgro





發文: 46
積分: 0
於 2008-05-07 00:02 user profilesend a private message to usersend email to magicgroreply to postreply to postsearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
真的是遇到同伴了,我就是用這個方法達成的,可是.......我的副理不要這個方法,可是如果javascript送值上來,japplet並不會得到事件或是被觸發,所以只能由javascript控制,但是又被安全性所困擾,我拿我的老大沒輒了,給他最後的大絕招就是執行緒了。

reply to postreply to post
作者 Re:Javascript 呼叫 JApplet function [Re:magicgro]
honeyaaa





發文: 159
積分: 0
於 2008-05-07 00:06 user profilesend a private message to userreply to postreply to postsearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
magicgro wrote:
真的是遇到同伴了,我就是用這個方法達成的,可是.......我的副理不要這個方法,可是如果javascript送值上來,japplet並不會得到事件或是被觸發,所以只能由javascript控制,但是又被安全性所困擾,我拿我的老大沒輒了,給他最後的大絕招就是執行緒了。


就不要和副理說咩,依照等級來說,副理應該不會看程式碼了,還是你有找到新方法,可以教學了一下囉^^"


reply to postreply to post
努力,是成功唯一的途徑。
作者 Re:Javascript 呼叫 JApplet function [Re:honeyaaa]
magicgro





發文: 46
積分: 0
於 2008-05-07 09:26 user profilesend a private message to usersend email to magicgroreply to postreply to postsearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
其實我都每個動作都必須跟他討論過才能寫,目前啊........也找不出其他方法。如果有的話我會po上來跟大家分享的。

reply to postreply to post
» JWorld@TW »  Java 新手區

reply to topicthreaded modego to previous topicgo to next topic
  已讀文章
  新的文章
  被刪除的文章
Jump to the top of page

JWorld@TW 本站商標資訊

Powered by Powerful JuteForum® Version Jute 1.5.8