Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/451.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/204.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
无法从活动中调用javascript函数_Javascript_Android_Android Activity - Fatal编程技术网

无法从活动中调用javascript函数

无法从活动中调用javascript函数,javascript,android,android-activity,Javascript,Android,Android Activity,它在4.0模拟器或真实设备中不起作用。我有适当的标记在html像 。 我可以从firefox的控制台毫无问题地启动它(它不调用alert命令,我知道它在android中不起作用) 我没有办法了,请帮帮我 顺便说一句,这个函数调用在这里似乎没什么用处,因为它是用于测试的,如果可以的话,我稍后会给出一个参数 编辑: .... 函数hello() { console.log(“你好”); var title=document.getElementById(“title”); title.innerH

它在4.0模拟器或真实设备中不起作用。我有适当的标记在html像

我可以从firefox的控制台毫无问题地启动它(它不调用alert命令,我知道它在android中不起作用)

我没有办法了,请帮帮我

顺便说一句,这个函数调用在这里似乎没什么用处,因为它是用于测试的,如果可以的话,我稍后会给出一个参数

编辑:


....
函数hello()
{
console.log(“你好”);
var title=document.getElementById(“title”);
title.innerHTML=“你好”;
}

问题在于,无法保证调用javascript时页面已加载。确保仅当页面完全加载时才调用javascript函数

下面的代码(引用自)将给您一个提示

<h1 id="title"></h1>
....

<script type="text/javascript">
function hello()
{
  console.log("hello"); 
  var title = document.getElementById("title");
  title.innerHTML = "hello";    
}
</script>

您希望javascript做什么?您如何判断它没有调用
hello()
-函数?另外,您是否试图从javascript调用Android中的方法?这需要使用
WebView
上的
addJavascriptInterface()
-方法。它是一个测试函数,应该设置元素的值,但它不设置。我知道js代码没有问题,因为在同一个html中有另一个按钮可以毫无问题地启动相同的函数。另外,logcat警告我一个错误:Uncaught referenceerror:hello未定义为null:1不,我可以毫无问题地调用Android方法,我需要调用我加载的html中的函数。您能提供您尝试使用的元素和简单javascript代码吗?非常感谢,我没有指望同步,因为这不是网络编程,而是该死的。当我在android onClick(){}中调用javascript函数时,这不起作用。有办法吗?
<h1 id="title"></h1>
....

<script type="text/javascript">
function hello()
{
  console.log("hello"); 
  var title = document.getElementById("title");
  title.innerHTML = "hello";    
}
</script>
final WebView webview = (WebView)findViewById(R.id.browser);
/* JavaScript must be enabled if you want it to work, obviously */
webview.getSettings().setJavaScriptEnabled(true);

/* WebViewClient must be set BEFORE calling loadUrl! */
webview.setWebViewClient(new WebViewClient() {
    @Override
    public void onPageFinished(WebView view, String url)
    {
        webview.loadUrl("javascript:(function() { " +
                "document.getElementsByTagName('body')[0].style.color = 'red'; " +
                "})()");
    }
});

webview.loadUrl("http://code.google.com/android");