Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
netscape.javascript.JSException:语法错误:意外关键字';这个';。预期的';)';结束参数列表的步骤_Java_Jquery_Html_Webview_Javafx - Fatal编程技术网

netscape.javascript.JSException:语法错误:意外关键字';这个';。预期的';)';结束参数列表的步骤

netscape.javascript.JSException:语法错误:意外关键字';这个';。预期的';)';结束参数列表的步骤,java,jquery,html,webview,javafx,Java,Jquery,Html,Webview,Javafx,我试图在WebView中的HTML文档中的元素中插入一个文本字符串 .爪哇 HTML <h3 class="panel-title"></h3> <script> $(document).ready(function() { window.testCheckMate = function (data) { $( ".panel-title" ).append( data ); }; })

我试图在WebView中的HTML文档中的
元素中插入一个文本字符串

.爪哇

HTML

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

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

我做错了什么?

传递给Javascript方法的字符串需要有引号:

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

您传递的字符串已经包含字符。因此,从Java端,您必须用\”引用该字符串。但是,在JavaScript中,此字符串将再次被解析,\“将作为字符串的结尾。这就是引发结束参数列表错误的原因。 传递用于调用函数的字符串时,应在Java端使用:

ret = ret.replaceAll("\"","\\\\\""); 

这解决了我的问题。

您缺少引号…您正在执行javascript
testCheckMate(这是标题)
而不是
testCheckMate(“这是标题”)
Hi@James_D.你能看看我在这里发布的这个类似的问题,看看你是否能帮上忙吗?你的回答对我正在做的一项关于从Java调用JavaScript函数的研究有很大帮助。但是,我需要发布一个后续问题,你的回答并没有真正包含在内。这看起来像是一个问题y在别处找到了答案。通过使用这个,我的字符串从C:\Users\变为C:Users,斜杠消失了。有人知道为什么吗?
webEngine.executeScript("testCheckMate(\"" + headerText + "\");");
ret = ret.replaceAll("\"","\\\\\"");