1

JavaScript 関数

    <!DOCTYPE html>
   <html>
   <head>
  <meta charset="UTF-8">
   <meta name="viewport" content="width=device-width; user-scalable=0;" />
    <title>My HTML</title>
   </head>
     <body>
        <h1>MyHTML</h1>
       <p id="mytext">Hello!</p>

        function callFromActivity(msg){
           alert("Hello! I am an alert box!");
          document.getElementById("mytext").innerHTML = msg;
       }


   </script>

  </body>
  </html>

Android コード

myWebView.loadUrl("file:///android_asset/mypage.html");
String msgToSend = "message";
myWebView.loadUrl("javascript:callFromActivity(\"" + msgToSend
            + "\")");

on Button Clicked イベントの Java スクリプト関数が正しく呼び出されます。しかし、ボタンをクリックせずにJavaスクリプト関数を呼び出すことはできません。

4

2 に答える 2

1

JavaScript の形式が間違っています。このようなタグに入れる必要があります

<script type="text/javascript">
    //your JS
</script>

したがって、コードは次のようになります

 <script type="text/javascript">
 function callFromActivity(msg){
    alert("Hello! I am an alert box!");
   document.getElementById("mytext").innerHTML = msg;
 }
 </script>
于 2012-06-04T10:55:11.570 に答える
0

これを試して 、

     String msgToSend = "message";
     String js = "msg = "+msgToSend+";"
                 +"function callFromActivity(msg){"
                 +"alert('Hello! I am an alert box!');"
                 +"document.getElementById('mytext').innerHTML = msg;";

      view.loadUrl("javascript:(function(){" + js + "})()");
于 2012-06-04T10:30:24.880 に答える