2015-11-07 47 views
1

我試圖在WebView中的HTML文檔內的<h3 class="panel-title"></h3>元素中插入文本字符串。netscape.javascript.JSException:SyntaxError:意外的關鍵字'this'。預期')'結束參數列表

的.java

webEngine = webView.getEngine(); 

String headerText = "This is the Header"; 
webEngine.executeScript("testCheckMate(" + headerText + ");"); 

的HTML

<h3 class="panel-title"></h3> 

<script> 
    $(document).ready(function() { 
     window.testCheckMate = function (data) { 
      $(".panel-title").append(data); 
     }; 
    }); 
</script> 

但是,我不斷收到錯誤:

Caused by: netscape.javascript.JSException: SyntaxError: Unexpected keyword 'this'. Expected ')' to end a argument list. 
at com.sun.webkit.dom.JSObject.fwkMakeException(JSObject.java:128) 
at com.sun.webkit.WebPage.twkExecuteScript(Native Method) 
at com.sun.webkit.WebPage.executeScript(WebPage.java:1439) 
at javafx.scene.web.WebEngine.executeScript(WebEngine.java:982) 

我在做什麼錯?

+2

你錯過了引號...你正在執行的JavaScript'testCheckMate(這是標題)',而不是'testCheckMate (「這是標題」) –

回答

1

傳遞給JavaScript方法的字符串需要有引號:

webEngine.executeScript("testCheckMate(\"" + headerText + "\");"); 
+0

Hi @James_D。你能否看看我在這裏發佈的這個類似的問題,看看你能否幫忙,[從Java調用JavaScript的錯誤](http://stackoverflow.com/questions/33612267/error-calling-javascript-from-java) ? –

+0

爲什麼這個答案不再正確? –

+0

你的回答對我從事Java調用JavaScript函數的研究有很大幫助。但是,我需要發佈一個後續問題,您的回答並不真正包含在內。似乎這個問題在其他地方已經有了答案。 –