我试图将一些javascript函数调用在一个html页面中运行android webview.很简单,什么代码尝试下面的事情-从Android应用程序,调用一个javascript带有测试消息,它依次调用Java函数回,在Android应用程序,通过敬酒显示测试消息功能.
该javascript功能如下:
function testEcho(message){
window.JSInterface.doEchoTest(message);
}
Run Code Online (Sandbox Code Playgroud)
从WebView,我试着javascript通过以下方式调用,没有运气:
myWebView.loadUrl("javascript:testEcho(Hello World!)");
mWebView.loadUrl("javascript:(function () { " + "testEcho(Hello World!);" + "})()");
Run Code Online (Sandbox Code Playgroud)
我确实启用javascript了WebView
myWebView.getSettings().setJavaScriptEnabled(true);
// register class containing methods to be exposed to JavaScript
myWebView.addJavascriptInterface(myJSInterface, "JSInterface");
Run Code Online (Sandbox Code Playgroud)
并且继承了Java班级
public class JSInterface{
private WebView mAppView;
public JSInterface (WebView appView) {
this.mAppView = appView;
}
public void doEchoTest(String echo){
Toast toast = Toast.makeText(mAppView.getContext(), echo, Toast.LENGTH_SHORT);
toast.show();
}
}
Run Code Online (Sandbox Code Playgroud)
我花了很多时间在谷歌上搜索我可能做错了什么.我发现的所有例子都使用这种方法.有没有人在这里看错了? …
如何使用javascript 更改标记的src属性img?
<img src="../template/edit.png" name=edit-save/>
Run Code Online (Sandbox Code Playgroud)
起初我有一个默认的src是"../template/edit.png",我想用"../template/save.png"onclick更改它.
更新:这是我的html onclick:
<a href='#' onclick='edit()'><img src="../template/edit.png" id="edit-save"/></a>
Run Code Online (Sandbox Code Playgroud)
和我的JS
function edit()
{
var inputs = document.myform;
for(var i = 0; i < inputs.length; i++) {
inputs[i].disabled = false;
}
}
Run Code Online (Sandbox Code Playgroud)
我已经尝试在edit()中插入它,它可以工作,但需要单击图像两次
var edit_save = document.getElementById("edit-save");
edit_save.onclick = function(){
this.src = "../template/save.png";
}
Run Code Online (Sandbox Code Playgroud)