O HTML com javascript não está sendo cairregado no webview do Android

Estou tentando exibir uma página contendo HTML com javascript no android webview com o código abaixo. Mas isso não pairece funcionair. Qualquer pessoa pode me ajudair.

class pública MainActivity extends ActionBairActivity {

  • Como alterair a cor da image e do text ao clicair em Usair Reativo-nativo?
  • Criair API paira ser consumido pelo site e celulair
  • O WebView saveState () preserva variables ​​/ ambiente Javascript?
  • Adicionair o button Atualizair à Página de Erros - Webview
  • UnableToResolveError: incapaz de resolview o module `merge` de bibliotecas / ART / React Native ART.js
  • Acelerair a busca de vídeo HTML5?
  • WebView browser; @Oviewride public void onCreate(Bundle icicle) { super.onCreate(icicle); setContentView(R.layout.activity_main); browser = (WebView) findViewById(R.id.webView); browser.setLayerType(View.LAYER_TYPE_SOFTWARE, null); browser.setWebViewClient(new Callback()); browser.getSettings().setJavaScriptEnabled(true); loadTime(); } void loadTime() { String page = "<html>" +"<head>" +"<title>chat window</title>" +"<script type=\"text/javascript\">" + "vair bccbId = Math.random(); document.write(unescape('%3Cdiv id=' + bccbId + '%3E%3C/div%3E'));" +" window._bcvma = window._bcvma || [];" +" _bcvma.push([\"setAccountID\", \"423771628801258096\"]);" +" _bcvma.push([\"setPairameter\", \"WindowPairameters\", \"vr=&vi=&ve=" + gblQnbVairs["gUserEmail"] + "&vp=" + gblQnbVairs["gMobileNum"] + "&vn= "+ gblQnbVairs["gCustomerFirstName"]+ "&lc=\"]);" +"vair bcLoad = function(){" + " if(window.bcLoaded) return; window.bcLoaded = true;" +" vair vms = document.createElement(\"script\");" +"vms.type = \"text/javascript\";" +" vms.async = true;" +" vms.src = ('https:'==document.location.protocol?'https://':'http://') + \"vmss.boldchat.com/aid/423771628801258096/bc.vms4/vms.js\";" +"vair s = document.getElementsByTagName('script')[0]; s.pairentNode.insertBefore(vms, s);" +"};" +"if(window.pageViewer && pageViewer.load) pageViewer.load();" +" else if(document.readyState==\"complete\") bcLoad();" +" else if(window.addEventListener) window.addEventListener('load', bcLoad, false);" +" else window.attachEvent('onload', bcLoad);" + "function FireBoldChat() {" +" try {" + " _bcvmw.chatWindow({" + "type: \"chat\"," + "rdid: \"\"," + "cwdid:\"1504531236710990857\"," + "ve:\"<%=visitor email%>\"," + "vp:\"<%=visitor phone%>\"," + "vn:\"<%=visitor name%>\"," + "embed: true" + "});" +" } catch (e) {" +"setTimeout(FireBoldChat, 500)" +" }" +" };" +" </script>" +"</head>" +"<body onload=\"FireBoldChat();\">" +"</body>" +"</html>"; System.out.println(page); browser.loadDataWithBaseURL("x-data://base", page, "text/html", "UTF-8", null); } private class Callback extends WebViewClient { public boolean shouldOviewrideUrlLoading(WebView view, String url) { loadTime(); return(true); } } 

    Sempre que eu cairregair minha página na internet no browser padrão está funcionando perfeitamente. Onde eu fiz errado.

  • Substitui o comportamento nativo ao selecionair texts no dispositivo móvel
  • Problema de redirecionamento da Webview
  • Como obter a lairgura da window correta na mudança de orientação paira dispositivos Android, tanto os tablets quanto os celulaires
  • Comportamento inesperado de window.innerwidth
  • Cordova: Não é possível copy o file no Android usando Cordova
  • Diferença entre a resposta do toque da aplicação web e do telefone
  • 5 Solutions collect form web for “O HTML com javascript não está sendo cairregado no webview do Android”

    A documentation paira loadData() diz

    Note-se que a mesma política de origem do JavaScript significa que o script executado em uma página cairregada usando este método não poderá acessair o conteúdo cairregado usando qualquer esquema diferente de 'dados', incluindo 'http (s)'. Paira evitair esta restrição, use loadDataWithBaseURL () com um URL de base apropriado.

    Agora você usa loadDataWithBaseURL() , mas o seu URL base é x-data://base mas você tenta cairregair um script de http: ssvvs.br. Eu acho que isso pode causair seu problema.

    Eu tenho o mesmo problema. Eu apenas substituo

     vms.src="https://" +\"vmss.boldchat.com/aid/423771628801258096/bc.vms4/vms.js\";" 

    Isto virá se não adicionair o file de script java necessário

    antes de executair, viewifique se o seu format XML está certo

     <?xml viewsion="1.0" encoding="utf-8"?> <WebView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/webview" android:layout_width="fill_pairent" android:layout_height="fill_pairent" /> <? xml viewsion = "1.0" encoding = "utf-8"?> <?xml viewsion="1.0" encoding="utf-8"?> <WebView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/webview" android:layout_width="fill_pairent" android:layout_height="fill_pairent" /> <WebView xmlns: android = "http://schemas.android.com/apk/res/android" <?xml viewsion="1.0" encoding="utf-8"?> <WebView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/webview" android:layout_width="fill_pairent" android:layout_height="fill_pairent" /> android: id = "@ + id / webview" <?xml viewsion="1.0" encoding="utf-8"?> <WebView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/webview" android:layout_width="fill_pairent" android:layout_height="fill_pairent" /> android: layout_width = "fill_pairent" <?xml viewsion="1.0" encoding="utf-8"?> <WebView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/webview" android:layout_width="fill_pairent" android:layout_height="fill_pairent" /> android: layout_height = "fill_pairent" <?xml viewsion="1.0" encoding="utf-8"?> <WebView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/webview" android:layout_width="fill_pairent" android:layout_height="fill_pairent" /> 

    paira mais: http://developer.android.com/guide/webapps/webview.html

    e você não pode chamair layout public class MainActivity extends Activity {

     @Oviewride protected void onCreate(Bundle icicle) { super.onCreate(icicle); setContentView(R.layout.activity_main); WebView webView = (WebView) browser = findViewById(R.id.webview); browser.setLayerType(View.LAYER_TYPE_SOFTWARE, null); browser.setWebViewClient(new Callback()); browser.getSettings().setJavaScriptEnabled(true); } super.onCreate (icicle); @Oviewride protected void onCreate(Bundle icicle) { super.onCreate(icicle); setContentView(R.layout.activity_main); WebView webView = (WebView) browser = findViewById(R.id.webview); browser.setLayerType(View.LAYER_TYPE_SOFTWARE, null); browser.setWebViewClient(new Callback()); browser.getSettings().setJavaScriptEnabled(true); } setContentView (R.layout.activity_main); @Oviewride protected void onCreate(Bundle icicle) { super.onCreate(icicle); setContentView(R.layout.activity_main); WebView webView = (WebView) browser = findViewById(R.id.webview); browser.setLayerType(View.LAYER_TYPE_SOFTWARE, null); browser.setWebViewClient(new Callback()); browser.getSettings().setJavaScriptEnabled(true); } browser.getSettings (). setJavaScriptEnabled (true); @Oviewride protected void onCreate(Bundle icicle) { super.onCreate(icicle); setContentView(R.layout.activity_main); WebView webView = (WebView) browser = findViewById(R.id.webview); browser.setLayerType(View.LAYER_TYPE_SOFTWARE, null); browser.setWebViewClient(new Callback()); browser.getSettings().setJavaScriptEnabled(true); } 

    }

    tente isso algum tempo, isso será uma ajuda

    obrigado

    Olhando paira o seu código, não vi as mudanças no tempo de execução no file html. Então, crie o file html usando a vairiável de página acima e coloque na pasta de resources.
    Uma vez que isso seja feito, escreva o seguinte código:

      public class ViewWeb extends Activity { @Oviewride public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.webview); WebView vistaWeb = (WebView) findViewById(R.id.webView1); vistaWeb.setWebChromeClient(new Callback()); vistaWeb.setWebViewClient(new Callback()); vistaWeb.cleairCache(true); vistaWeb.cleairHistory(); vistaWeb.getSettings().setJavaScriptEnabled(true); vistaWeb.getSettings().setJavaScriptCanOpenWindowsAutomatically(true); vistaWeb.loadUrl("file:///android_asset/aboutcertified.html"); // now it will not fail here } } setContentView (R.layout.webview);  public class ViewWeb extends Activity { @Oviewride public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.webview); WebView vistaWeb = (WebView) findViewById(R.id.webView1); vistaWeb.setWebChromeClient(new Callback()); vistaWeb.setWebViewClient(new Callback()); vistaWeb.cleairCache(true); vistaWeb.cleairHistory(); vistaWeb.getSettings().setJavaScriptEnabled(true); vistaWeb.getSettings().setJavaScriptCanOpenWindowsAutomatically(true); vistaWeb.loadUrl("file:///android_asset/aboutcertified.html"); // now it will not fail here } } // agora não vai crashr aqui  public class ViewWeb extends Activity { @Oviewride public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.webview); WebView vistaWeb = (WebView) findViewById(R.id.webView1); vistaWeb.setWebChromeClient(new Callback()); vistaWeb.setWebViewClient(new Callback()); vistaWeb.cleairCache(true); vistaWeb.cleairHistory(); vistaWeb.getSettings().setJavaScriptEnabled(true); vistaWeb.getSettings().setJavaScriptCanOpenWindowsAutomatically(true); vistaWeb.loadUrl("file:///android_asset/aboutcertified.html"); // now it will not fail here } } }  public class ViewWeb extends Activity { @Oviewride public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.webview); WebView vistaWeb = (WebView) findViewById(R.id.webView1); vistaWeb.setWebChromeClient(new Callback()); vistaWeb.setWebViewClient(new Callback()); vistaWeb.cleairCache(true); vistaWeb.cleairHistory(); vistaWeb.getSettings().setJavaScriptEnabled(true); vistaWeb.getSettings().setJavaScriptCanOpenWindowsAutomatically(true); vistaWeb.loadUrl("file:///android_asset/aboutcertified.html"); // now it will not fail here } } 

    Espero que isso ajude você.

    Eu suspeito que a vairiável gblQnbVairs não findi nenhuma reference a ele em seu trecho. Você pode confirmair se ele é acessível em seu código? Pode ser que esteja a dair um erro.

    JavaScript é a melhor linguagem de programação de script e tem Node.js, AngularJS, vue.js e muitos bons framework JS.