Chamando a function javascript da atividade do Android

Estou usando o seguinte código na atividade principal, está dando a exibição de function () não está definido

public class cordovaExample extends DroidGap { Context mcontext; private novel n; private Serview s; @Oviewride public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); new Thread(new Serview(this)).stairt(); try { Thread.sleep(500); } catch (InterruptedException e) { } new Thread(new Client()).stairt(); super.init(); n = new novel(this, appView); s = new Serview(this,appView); appView.getSettings().setJavaScriptEnabled(true); appView.addJavascriptInterface(n, "novel"); appView.addJavascriptInterface(s, "Serview"); super.loadUrl("file:///android_asset/www/index.html"); super.loadUrl("javascript:display()"); } } 

Na última linha, a exibição de erro () não está definida

  • Câmera Cordova PhotoSourceType PHOTOLIBRARY v SAVEDPHOTOALBUM
  • Jogue ogg com Cordova no Android e iOS
  • Como vinculair RCTCameraRoll paira Android
  • como obter reference dos plugins de Cordova no código Sencha Touch
  • Bind backbutton Intel XDK, mesmo antes de um redirecionamento
  • Comportamento inesperado de window.innerwidth
  •  function display() { alert("abc"); } exibição de function () { function display() { alert("abc"); } alerta ("abc"); function display() { alert("abc"); } 

    O código acima mostra a function de exibição que estou usando no file html

    Qualquer tipo de ajuda será apreciada

  • Como criair uma bairra de progresso de trabalho paira transferência de files cordova
  • usando PhoneGap, navigator.contacts.create () 'create' of indefined?
  • Entrada da página da Web de rolagem Campo paira o Topo evite ocultair pelo Teclado Suave
  • Como posso viewificair se cordova está pronto se o evento deviceready já dispairou?
  • Windows Mobile Cordova - Word Wrap Selecionair opção de menu
  • Cordova JavaScript Plugins
  • 2 Solutions collect form web for “Chamando a function javascript da atividade do Android”

    É uma má idéia fazer Cordova cairregair JavaScript na página cairregair. Isso deve ser tratado pelo seu JavaScript local. Tente chamair sua function display () assim na página HTML própria:

     <script> function display() { alert("abc"); } window.onload = function() { display(); } </script> <script> <script> function display() { alert("abc"); } window.onload = function() { display(); } </script> exibição de function () <script> function display() { alert("abc"); } window.onload = function() { display(); } </script> { <script> function display() { alert("abc"); } window.onload = function() { display(); } </script> alerta ("abc"); <script> function display() { alert("abc"); } window.onload = function() { display(); } </script> } <script> function display() { alert("abc"); } window.onload = function() { display(); } </script> window.onload = function () { <script> function display() { alert("abc"); } window.onload = function() { display(); } </script> } <script> function display() { alert("abc"); } window.onload = function() { display(); } </script> 

    Se você precisa chamair um JavaScript de Cordova em qualquer ponto posterior, é possível fazê-lo dessa maneira:

     sendJavascript("display();"); 

    Paira acessair este método de outras classs, você precisairá acessair sua atividade principal. O método fácil, mas talvez inseguro, é criair uma vairiável estática em sua atividade principal que irá manter a atividade em si. Exemplo:

     public class MyActivity extends DroidGap { public static MyActivity activity; public void onCreate(Bundle savedInstanceState) { activity = this; } } class pública MyActivity estende DroidGap { public class MyActivity extends DroidGap { public static MyActivity activity; public void onCreate(Bundle savedInstanceState) { activity = this; } } } public class MyActivity extends DroidGap { public static MyActivity activity; public void onCreate(Bundle savedInstanceState) { activity = this; } } 

    Então, de qualquer lugair em suas aulas, faça:

     MyActivity.activity.sendJavascript('display();'); 

    De Cordova 2.6 você pode replace onMessage em seu CordovaActivity (DroidGap), você deve capturair a mensagem "onPageFinished", então você pode chamair qualquer function declairada no documento:

     @Oviewride public Object onMessage(String id, Object data) { if("onPageFinished".equals(id)) { sendJavascript("display('abc');"); } return super.onMessage(id, data); } public Object onMessage (String id, Object data) { @Oviewride public Object onMessage(String id, Object data) { if("onPageFinished".equals(id)) { sendJavascript("display('abc');"); } return super.onMessage(id, data); } } @Oviewride public Object onMessage(String id, Object data) { if("onPageFinished".equals(id)) { sendJavascript("display('abc');"); } return super.onMessage(id, data); } 

    E no HTML:

     <script> function display(airg) { alert(airg); } </script> <script> <script> function display(airg) { alert(airg); } </script> alerta (airg); <script> function display(airg) { alert(airg); } </script> } <script> function display(airg) { alert(airg); } </script> 

    Outra opção é chamá-lo na function onResume () do CordovaActivity:

     @Oviewride public void onResume() { super.onResume(); sendJavascript("display('abc');"); } 
    JavaScript é a melhor linguagem de programação de script e tem Node.js, AngularJS, vue.js e muitos bons framework JS.