diff --git a/app/src/main/java/io/github/a13e300/ksuwebui/WebViewInterface.kt b/app/src/main/java/io/github/a13e300/ksuwebui/WebViewInterface.kt index 3522a1d..50c5e46 100644 --- a/app/src/main/java/io/github/a13e300/ksuwebui/WebViewInterface.kt +++ b/app/src/main/java/io/github/a13e300/ksuwebui/WebViewInterface.kt @@ -69,13 +69,13 @@ class WebViewInterface( val stderr = result.err.joinToString(separator = "\n") val jsCode = - "javascript: (function() { try { ${callbackFunc}(${result.code}, ${ + "(function() { try { ${callbackFunc}(${result.code}, ${ JSONObject.quote( stdout ) }, ${JSONObject.quote(stderr)}); } catch(e) { console.error(e); } })();" webView.post { - webView.loadUrl(jsCode) + webView.evaluateJavascript(jsCode, null) } } @@ -101,13 +101,13 @@ class WebViewInterface( val emitData = fun(name: String, data: String) { val jsCode = - "javascript: (function() { try { ${callbackFunc}.${name}.emit('data', ${ + "(function() { try { ${callbackFunc}.${name}.emit('data', ${ JSONObject.quote( data ) }); } catch(e) { console.error('emitData', e); } })();" webView.post { - webView.loadUrl(jsCode) + webView.evaluateJavascript(jsCode, null) } } @@ -130,14 +130,14 @@ class WebViewInterface( completableFuture.thenAccept { result -> val emitExitCode = - "javascript: (function() { try { ${callbackFunc}.emit('exit', ${result.code}); } catch(e) { console.error(`emitExit error: \${e}`); } })();" + "(function() { try { ${callbackFunc}.emit('exit', ${result.code}); } catch(e) { console.error(`emitExit error: \${e}`); } })();" webView.post { - webView.loadUrl(emitExitCode) + webView.evaluateJavascript(emitExitCode, null) } if (result.code != 0) { val emitErrCode = - "javascript: (function() { try { var err = new Error(); err.exitCode = ${result.code}; err.message = ${ + "(function() { try { var err = new Error(); err.exitCode = ${result.code}; err.message = ${ JSONObject.quote( result.err.joinToString( "\n" @@ -145,7 +145,7 @@ class WebViewInterface( ) };${callbackFunc}.emit('error', err); } catch(e) { console.error('emitErr', e); } })();" webView.post { - webView.loadUrl(emitErrCode) + webView.evaluateJavascript(emitErrCode, null) } } }.whenComplete { _, _ ->