1

サーバーからWebビューをロードするAndroidアプリケーションがあります。サーバーコードがないので、Javascriptで何も変更できません。Webビューでボタンがクリックされたときと、ボタンのラベルを確認したいと思います。IDがわかりません。ラベルを取得したいだけです。

これを検索してみましたが、答えが見つかりませんでした。javascriptで作業できるソリューションを見つけましたが、私の場合はできません。

4

2 に答える 2

1

この提案は、ボタンラベルの決定につながる可能性のある有用な情報を見つけるのに役立つ場合があります。オーバーライドshouldOverrideUrlLoading()shouldInterceptRequest()および/またはリダイレクトonLoadResource()WebViewClientURLで取得できるようにします。

例:

webview.setWebViewClient(new WebViewClient() {
    public boolean shouldOverrideUrlLoading(WebView view, String url) {

        // Try to learn something useful from the 'url' here.

        // Continue as normal, loading the 'url' within this WebView.
        view.loadUrl(url);
        return false; // Allow the WebView to handle the request.
    }

    // Optional: Add similar for "shouldInterceptRequest()" and/or "onLoadResource()".
});

:上記のようにオーバーライドすることは、デフォルトのブラウザーアプリケーションにリダイレクトするのではなく、リダイレクトをshouldOverrideUrlLoading()同じ範囲内に保つための標準的な方法です。WebView

于 2013-03-25T17:40:31.217 に答える
0

あなたは本当にこのページをチェックしたいかもしれません:

WebViewでのWebアプリの構築(Google APIガイド)

具体的には、addJavascriptInterfaceがあなたが探しているものかもしれないようです:

addJavascriptInterface(オブジェクトオブジェクト、文字列名)

これにより、javascriptからJavaコードを実行でき、ページにコードを挿入する機能と組み合わせて、アクティビティとページの間の高レベルの結合を可能にする非常に強力なツールです。

この時点で、あなたはすでに何をすべきかを知っていると思いますが、とにかく可能な行動方針をスケッチします:

  • ボタンが押されたときにアクティビティで実行するコールバックを使用してjavascriptインターフェースを作成します
  • ページが読み込まれるとすぐに、インジェクションによって各ボタン(またはリンク)でjavascriptインターフェースを呼び出すコードをインストールします

お役に立てれば

于 2013-03-25T18:06:04.870 に答える