web-dev-qa-db-fra.com

Solution alternative pour setJavaScriptEnabled (true);

J'ai développé une application Android qui utilise Webview Component. J'ai utilisé la ligne suivante dans mon code,

webViewScores.getSettings().setJavaScriptEnabled(true);

En raison de cette ligne, Lint warning est affiché avec Using setJavaScriptEnabled can introduce XSS vulnerabilities into you application, review carefully.. Je sais maintenant que je peux supprimer cet avertissement en écrivant cette ligne @SuppressLint("SetJavaScriptEnabled") au-dessus de ma méthode ou au niveau de la classe. Mais ma question est la suivante: existe-t-il une autre solution? Cela signifie-t-il qu'il existe un autre moyen de définir Java Script activé dans Webview?

28
Vigbyor

vous devez l'utiliser au niveau de la classe comme

@SuppressLint("SetJavaScriptEnabled")
public class MyActivity extends Activity
{
    ...
}

et selon moi, il n’ya pas d’autre moyen d’activer JavaScript dans WebView et si votre application ne nécessite pas vraiment une utilisation de JavaScript dans une vue Web, n’appelez pas setJavaScriptEnabled (true).

28
Neha Shukla

L’avertissement vous indique que l’activation de Javascript peut ne pas être sécurisée . Vérifiez juste si vous devez absolument activer Javascript et si vous en avez besoin, supprimez l’avertissement par

@SuppressLint("SetJavaScriptEnabled")
3
NoAngel

Vous pouvez également implémenter un moteur de rendu Javascript personnalisé ou, mieux encore, un navigateur complet. Après tout, un navigateur ne traite que le code HTML, qui est fondamentalement XML.

0
user3343456