我在我的Android应用程序中使用cordova 3.04
这是我的主要活动代码
public class MainActivity extends Activity implements CordovaInterface {
CordovaWebView cwv;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
cwv = (CordovaWebView) findViewById(R.id.cwv);
Config.init(this);
cwv.loadUrl(Config.getStartUrl());
cwv.loadUrl("JavaScript:sayHelloFromJS('hi')");
}
}
和html代码是
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript">
function sayHelloFromJS(value) {
alert("JavaScript says: Hello asasasa !!! How are you?");
}
</script>
</head>
<body></body>
</html>
我首先加载html页面然后加载javascript为什么html加载正常并且javascript根本没有加载。
答案 0 :(得分:0)
你试过吗
cwv.getSettings().setJavaScriptEnabled(true);
答案 1 :(得分:0)
CordovaWebView
使用java.lang.String.startsWith()
来检查传递给loadUrl
的值,以决定如何“加载”该网址。这种方式已经在the source中持续了一段时间。
startsWith()
区分大小写,因此您需要
cwv.loadUrl("javascript:sayHelloFromJS('hi')");
不是
cwv.loadUrl("JavaScript:sayHelloFromJS('hi')");
...或者您将获得不支持的协议错误。
我不知道你的意思是“JavaScript没有加载”,但是如果你期望一个警告说“hi”那么你的JS需要修复,因为sayHelloFromJS
忽略了传递给它的值; )
function sayHelloFromJS(value) {
alert(value);
}