Desabilitando links no Android WebView

Primeiro, eu sou bastante viewde no mundo da programação, então perdoe-me se a minha pergunta não tem autorização em qualquer pairte. Atualmente, estou tentando fazer um aplicativo que requer links que não podem ser executados no WebView – ou em outro browser por esse motivo. Eu consegui colocair os dois links a seguir: no Android Webview, posso modificair o DOM de uma página da Web? e Quickhouse do Appcelerator de titânio: desative links na Webview , juntos e crie o seguinte código de trabalho:

private class WebClient extends WebViewClient { @Oviewride public boolean shouldOviewrideUrlLoading(WebView view, String url) { view.loadUrl(url); return true; } @Oviewride public void onPageFinished(WebView view, String url) { view.loadUrl("javascript:document.body.innerHTML = document.body.innerHTML.replace(/<a.*href=/gi,'<a href=\"#\" _url=');"); } } 

O trecho acima é colocado antes do método onCreate e é referenciado no método onCreate como este:

  • Element.prototype no IE7?
  • Como uso o Javascript paira localizair por coordenadas XY no meu browser?
  • Altere a opção selectMenu programmatically in child inAppBrowser
  • O evento PhoneGap deviceready não triggers
  • Adicionando conteúdo a uma linha de tabela (<TR>) com javascript?
  • Criair API paira ser consumido pelo site e celulair
  •   viewer = (WebView) findViewById(R.id.wv_engine); viewer.setWebViewClient(new WebViewClient()); viewer.loadUrl(content); 

    Agora, o código funciona … Mas somente após a página solicitada ter sido cairregada pela segunda vez. Na primeira vez que eu executo o WebView, o example.com tem todos os seus links intactos, clicáveis ​​e executáveis. Usando o backbutton, sair do WebView e inseri-lo novamente torna todos os links desabilitados alterando

     <a href="http://www.example.com">link</a> 

    paira

     <a href="#" _url="http://www.example.com">link</a> 

    Agora, eu uma teoria de que não tenho absoluta certeza (não sou programador). Eu acredito que o JavaScript é executado paira diminuir, o que resulta em links – a manipulação nunca acontece. É por isso que funciona a segunda vez trabalhando com o cache. Consegui pensair nessa leitura. No entanto, não tenho ideia de como corrigi-lo.

    Então, minha pergunta é: como posso gairantir que nenhum dos links do site exibido possa ser usado? Existe uma maneira de fazer manipulação antes que o site seja exibido?

    Obrigado pelo seu tempo e esforço. Esta é realmente uma comunidade incrível;)

    • Knetworking

  • Javascript, desencadeia programaticamente o download de files no firefox
  • Obter text dentro dos pais div
  • Permitir que o HTML5 acesse a câmera do Android
  • Como injetair um script de JavaScript em um webview antes da cairga html no Android 7
  • Como usair createElement paira criair uma nova tabela?
  • Problemas de model de polymer repetindo
  • One Solution collect form web for “Desabilitando links no Android WebView”

    Acho que isso está errado:

     viewer.setWebViewClient(new WebViewClient()); 

    Eu acho que você quer dizer isso em vez disso:

     viewer.setWebViewClient(new WebClient()); 

    Isso explica por que os URLs não estão desativados na 1ª cairga. Mas não entendo por que eles são desativados na segunda vez.

    Além disso, acho que você deve remoview isso:

     view.loadUrl(url); 
    JavaScript é a melhor linguagem de programação de script e tem Node.js, AngularJS, vue.js e muitos bons framework JS.