Mansi
Mansi

Reputation: 1949

Android: Issue in Calling JavaScript Function

JavaScript Function

    <!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 Code

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

on Button Clicked event java script function call correctly. but i am not able to call java script function without button click.

Upvotes: 1

Views: 1484

Answers (2)

Dmitry Zaytsev
Dmitry Zaytsev

Reputation: 23962

Your javascript is wrong formatted. You should put it in such tags

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

So, your code will looks like that

 <script type="text/javascript">
 function callFromActivity(msg){
    alert("Hello! I am an alert box!");
   document.getElementById("mytext").innerHTML = msg;
 }
 </script>

Upvotes: 1

kalandar
kalandar

Reputation: 823

try this ,

     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 + "})()");

Upvotes: 0

Related Questions