問題タブ [webviewclient]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - AndroidWebViewはPCブラウザとは異なって見えます
jsフォームアセットを含むhtmlコンテンツをAndroidwebviewにロードしましたが、AndroidwebviewとPCブラウザーでの外観には大きな違いがあります。また、loadjavascriptを有効にしてweviewclientを使用しましたが、それでも違いがあります。何が悪いのか提案してください。
前もって感謝します。
android - WebViewClient を使用した Android WebView - onReceivedHttpAuthRequest を使用した認証
私のアプリケーションでは、オーバーライドされたメソッド onReceivedHttpAuthRequest を使用して WebViewClient で WebView を使用し、AlertDialog を使用してユーザーに資格情報を入力するように求めます。資格情報が入力されたら、私は呼び出します
私の問題は次のとおりです: Android 4 エミュレーターでは、すべて正常に動作し、ユーザーは問題なく認証済みサイトをナビゲートできますが、古い Android バージョンでは、ユーザーが更新するたびに onReceivedHttpAuthRequest が呼び出されるか、認証済みサイト内の別のページに移動するようです。
誰かが私に提案してもらえますか、私は何を間違っていますか? ありがとうございました。
私が試したこと:
通話も
資格情報が入力され、onReceivedHttpAuthRequest でログイン ダイアログを呼び出す前にこのコードを追加する場合:
私にとってはうまくいきませんでした-ユーザーは認証されたサイトをナビゲートできますが、ログアウト後、ユーザー名とパスワードは引き続きwebViewに保存され、ユーザーは自動的に再度ログインします-この場合、ユーザーのログアウトを検出し、保存された資格情報を削除する必要があります教えて、これを行う方法は?
どうもありがとう!
android - Longclickを使用してリンクされた画像(画像のURLではなく)のHitTestResultを使用してAndroidWebViewでリンクURLを取得する方法
Webビューのロングクリックをキャッチしてコンテキストメニューを表示しようとしています。(以下のコードを参照)画像をロングクリックすると、常にimage-URLが追加として取得されます(IMAGE_TYPEでリンクされていない画像の場合、およびSRC_IMAGE_ANCHOR_TYPEでリンクされた画像の場合)。しかし、ハイパーリンクのある画像のLink-URL(image-URLではなく)を取得するにはどうすればよいですか?
最高、セバスチャン
android - androidwebview関連
アセットフォルダに保存した複数のhtmlファイルがあります。私のhtmlファイルの1つは次のとおりです。
これと同じHTMLファイルがあと3つあります。最初のページが読み込まれます。ここで、hrefを取得し、hrefをチェックしてリンクを手動でロードしたいと思います。
私のコードは次のとおりです。
href値を取得し、href値をチェックしてリンクをロードするにはどうすればよいですか?
前もって感謝します
javascript - Webview で Javascript が有効になっている場合、Android Webview がリンクのクリックを検出しない
私のアプリケーションでは、webview 内のリンクのクリックを検出する必要があります。次のコードを使用します
しかし、shouldOverrideUrlLoading(WebView view, String url)
メソッドは web.getSettings().setJavaScriptEnabled(true);
書かれたときに呼び出されません。しかし、私が書いていない場合 web.getSettings().setJavaScriptEnabled(true);
は shouldOverrideUrlLoading(WebView view, String url)
呼び出され、リンクが検出されます。この 2 つの両方が必要です。JavaScript を有効にして、リンクのクリックを検出する必要があります。これを理解するのを手伝ってください。サンタヌ
android - onReceivedError での ERROR_IO (-7) の根本原因のトラブルシューティング方法
私の WebView ベースのコードは長すぎて (そしていくつかのモジュールに散らばって) ここに投稿できません。とにかく他の人に役立つ可能性のある一般的な手法を探しています。
基本的な Web ブラウザーを実装するWebView、WebViewClient、およびJavascriptInterface派生クラスのセットがあります。Omnitureを実行している Web サイトで、1 台の電話のみ (CyanogenMod 6 (Android 2.2.1) を実行している Nexus One)で、特定の (妥当な) 長さを超える URL を持つloadUrl()がフリーズすることを除いて、かなりうまく機能しているようです。、その後、最終的にonReceiveError()、 ERROR_IO ( -7 ) でタイムアウトになり、次の説明文字列が表示されます。
サーバーが通信できませんでした。あとでもう一度試してみてください。
明確にするために:同じ正確なコード、同じ正確なURLは、私がテストした他のすべての電話で問題なく動作します。
この異常をその電話のandroid.webkitの特定のバージョンのバグに帰することでこれを肩をすくめることができたかもしれませんが、これを回避できる何かが自分のコードに欠けているのではないかと疑っています。その理由は、まったく同じ電話で、WebView ベースのストック ブラウザがこの問題を示さないためです。
私は好奇心旺盛で細心の注意を払っていますが、これは興味深くやりがいのあるものであり、おそらく HTTP プロトコルのデバッグ手法をより深く掘り下げる絶好の機会だと思います。
たとえば、android.net.httpを利用して診断ログ メッセージを取得する方法があれば、それはすばらしいことでしたが、WebView と WebViewClient でそれを行うにはどうすればよいでしょうか?
これをトラブルシューティングする方法に関する提案やヒントはありますか?
android - AndroidのストックWebブラウザはWebViewClientを使用しますか?
私が正しく理解していれば、すべてのWebViewベースの実装にはWebViewClientが必要です。
しかし、Android 2.2のブラウザーのソースコードを見ると、WebViewClientについての言及は見つかりません。
使用しない場合はどのように機能しますか?
それを使用する場合、それはどこに「隠れている」のでしょうか?
android - JavaScript 関数を呼び出して戻り値を取得する
Web アプリをカプセル化することになっている Android アプリで作業するのに大きな問題があり、StackOverflow が私の唯一の希望であると考えています。
最初の問題は次のとおりです。「About」リンクのクリックをインターセプトして、すべてのアプリの標準の About ビューでアクティビティを起動する必要がありました。残念ながら、ページ上のリンクをクリックすると、コンテンツは AJAX によって読み込まれ、shouldOverrideUrlLoading(String url)
呼び出されません。
私の回避策は、Android の JavaScript インターフェイスを使用してオブジェクトを JS に渡し、次のようにそのオブジェクトへの読み込み URL を配置することでした。
これは完全に機能しており、非常に醜い回避策のようには見えません。
2 つ目の問題は、Android 2.1 (電話とエミュレーター) では、WebView が AJAX で読み込まれた URL を履歴に保存しないため、次のコードを使用して戻るキーをオーバーライドしても、戻るキーを押すと常にアプリが終了することです。
奇妙なことに、これは Android >2.1 のすべてのバージョンで完全に機能します。回避策はありますか?
履歴をさかのぼれるかどうかを知るために JS 関数を呼び出すことを考えていましたが、Android から JS 関数を呼び出してブール値の戻り値を取得するにはどうすればよいでしょうか?
よろしくお願いします。
android - Android フラグメント (WebView を使用) - アクティビティが破棄される
アプリでタブ ベースのアクティビティを使用しており、WebView を使用してフラグメント スタックを実装したいと考えています。これらの WebView で、URL リクエストをキャッチし、現在の WebView Fragment を新しいものに置き換えたいと考えています。残念ながら、私はいつも取得しますActivity was destroyed Exception
が、理由はわかりません。
これを修正する方法を教えてください。
次のコードを使用します (コード サンプルの最後でhandleUrlRequest
、現在の Fragment を置換するメソッドを認識できます)。
android - webview に ontouch イベントがあると、組み込みのズーム コントロールが機能しない
私は webiview を使用しており、組み込みのズーム コントロールが機能しないよりも onTouchEvent をオーバーライドしています。
前もって感謝します...