2013-03-25 34 views
1

這是http://docs.oracle.com/javase/tutorial/deployment/applet/invokingAppletMethodsFromJavaScript.html中的一個例子我已經剝離了很多功能,因爲我只是想讓基本applet工作,但即使當我運行它們直接從壓縮的例子它給了我一個錯誤說 enter image description here 我也嘗試將類歸檔到一個jar文件,看看是否有幫助,但它仍然繼續給我同樣的錯誤。Javascript to Java Applet Uncaught TypeError:Object#<HTMLAppletElement> has no method

我認爲問題是文件夾/文件結構,但我不確定。

JavaScript和HTML

<script> 
function enterNums(){ 
mathApplet.userName = "John Doe"; 
var greeting = mathApplet.getGreeting(); 
} 
</script> 
    <script src="http://www.java.com/js/deployJava.js"></script> 
<script> 
    var attributes = { 
    id:'mathApplet', 
    code:'jstojava.MathApplet', 
    width:1, 
    height:1 
    } ; 
    var parameters = { 
    codebase:"/scripts/java/", 
    jnlp_href:"math_applet.jnlp" 
    } ; 
    deployJava.runApplet(attributes, parameters, '1.7'); 
</script> 
<p><a href="javascript:enterNums();">Launch Example</a></p> 

JNLP文件

<?xml version="1.0" encoding="UTF-8"?> 
<jnlp spec="1.0+"> 
<information> 
    <title>Math Applet - JavaScript to Java LiveConnect</title> 
    <vendor>Sun</vendor> 
</information> 
<resources> 
    <!-- Application Resources --> 
    <j2se version="1.6+" 
      href="http://java.sun.com/products/autodl/j2se"/> 
    <jar href="jstojava.jar" main="true" /> 

</resources> 
<applet-desc 
    name="Math Applet" 
    main-class="MathApplet" 
    width="1" 
    height="1"> 
</applet-desc> 
<update check="background"/> 
</jnlp> 

的Java代碼

package jstojava; 
import java.applet.Applet; 

public class MathApplet extends Applet{ 
    public String userName = null; 

    public String getGreeting() { 
    return "Hello " + userName; 
    } 
} 

回答

1

所以實現,你可以打開了錯誤的Java控制檯 控制面板中的跟蹤後> Java> Advanced> Show Console

在控制檯中按5設置最高跟蹤級別。

事實證明,由於mime類型不允許在web服務器上,所以jnlp文件沒有被下載。

+0

你有解決這個問題嗎?如果是這樣,請分享我面臨同樣的問題 – appdroid 2014-12-17 18:41:21

相關問題