問題タブ [webchromeclient]

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.

0 投票する
1 に答える
977 参照

android - webview からブラウザに URL を渡そうとしています

高さ 60 dp の webview を使用しており、ローカルの html ファイルをそれに渡しています。デフォルトでは、webview のリンクをクリックすると、ブラウザを開く必要があります。しかし、奇妙なことに、webviewでリンクを開きます.webviewクライアントも試して、インテントを介して応答URLをデフォルトブラウザに渡そうとしましたが、無駄でした..

私のコードスニペット:

0 投票する
1 に答える
596 参照

android - 外部クラスからのアクティビティ メソッドの呼び出し

私は、このすべてのアプリケーション/アクティビティ コンテキストに本当に混乱しています。自分のクラスWebChromeClientConnectionChangeReceiver(ネットワーク接続の変更を検出する) など、クラスからいくつかのアクティビティ メソッドを呼び出したいと考えています。

コード例:

それを達成する方法は?メモリリークを回避するのに役立つ賢明なパターンはありますか?

0 投票する
1 に答える
403 参照

android - JavaScript ウィンドウを AlertDialog で開く

私のアプリでは、webview が正しく表示されています。サイトには、クリックすると window.open() がいくつかの情報を表示するボタンがあります。onCreateWindow メソッドをオーバーライドして webchromeclient を追加し、setSupportMultipleWindows(true) を webview に追加しました。呼び出されますが、ページのコンテンツをダイアログに表示する方法や、このページを webview の新しいウィンドウに表示する方法はわかりません。なにか提案を?

0 投票する
3 に答える
1605 参照

android - WebビューのAndroidプログレスバーが2回表示される

を使用してAndroid用のシンプルなアプリを作成しようとしていますprogress bar。すべてが正常に動作します。しかし、ここで2つの問題

1)アプリケーションを起動すると、読み込みの進行状況が2回表示されます。

2)最初のページの読み込みが完了した後、プログレスバーを無効にするにはどうすればよいですか。クリックするたびにプログレスバーを表示したくありません。

これが私のコードです

0 投票する
3 に答える
2146 参照

android - ロケーションがオフになっている場合、WebChromeClient.onGeolocationPermissionsShowPrompt() は呼び出されません

ロケーションベースの機能を備えたページをロードする WebView と、 onGeolocationPermissionsShowPrompt() がオーバーライドされた WebChromeClient があります。位置情報サービスがオンの場合、ページの位置情報を有効にすると正常に機能します。

問題は、ユーザーの場所がオフになっている場合はオンにするように促したいのですが、オフになっている場合は onGeolocationPermissionsShowPrompt() を実行しないことです。この関数は、場所が利用可能な場合にのみ呼び出されますか?

0 投票する
1 に答える
751 参照

android - WebChromeClient Websocket サポート?

Android には 2 つの Web ビュー (SetWebViewClient と SetWebChromeClient) が付属しており、通常の Web クライアントでは WebSocket がサポートされていないことは明らかです。

ただし、Android ブラウザー上の Chrome が Websockets をサポートしているように見えることを除いて、WebChromeClient の機能についてはわかりません。

WebChromeClient が Websockets をサポートしているかどうかを確認できますか?

(この特定の回答では、WebChromeClient に関する十分な情報が提供されませんでした。setWebViewClientと setWebChromeClient の違いは何ですか? )

0 投票する
0 に答える
896 参照

javascript - Android WebChromeClient と javaScript の統合により、予期しない不正なトークンが生成される

ホーム.java

form.js

この関数は Bitmap オブジェクトを base64 文字列に変換し、外部の javascript を実行しますfunction (form.js -> processImage(var))。ただし、 processImage を実行せず、 Uncaught を返しSyntaxError: Unexpected token ILLEGALます。ただし、コメントを外すと

行とコメント

機能はしっかりしているようです。パラメータ変数の可能な値は次のとおりです。

私が求めているのは、javaScript 関数をパラメーターで動作させるにはどうすればよいかということです。ありがとう!

0 投票する
2 に答える
13374 参照

java - Android WebView HTML5/h.264/mp​​4 動画の再生、MediaPlayer の取得方法

私は を持ってActivityWebViewます。中にWebChromeClient入っています。MediaPlayerその中には、ビデオ ビットの処理を返すためのコールバックがいくつかあります。例えば:

MP4 ストリームWebViewを HTML<video>タグを使用して (インジェクション経由で) ロードすると、これらは起動しません。

アクティビティをfinish()実行すると、logcat は次のように報告します。

WebViewなんとかして、クリアしてから破壊しても止められません。タグを使用してビデオをロードする場合、作成した特定のタグを強制的に使用する<video>方法がわかりません。上記を報告する隠されたものを使用することが決定されているようです。のタグを介して作成されたを見つける方法はありますか?WebChromeClientMediaPlayerMediaPlayer<video>WebView

- アップデート

WebView を初期化するためのコードは次のとおりです。

「フレーム」コードは、ビデオを起動するための iframe です (少なくとも、Vimeo と YouTube の両方がこのアプローチを採用しているようです)。クラフトを避けるために、これを少し剪定しました。

その WebView クラス内には、次のクラスが存在します。

また、このクラス:

そして、運が良ければ、MediaPlayer から何らかの応答が得られる場合に備えて、通常の容疑者をすべて上書きしています。

補足として、私はリフレクションを使って掘り下げ、その方法で MediaPlayer を手に入れましたが、そのようなことをした後はいつも少し気が狂っています。MediaPlayer オブジェクトを持っていても、それを解放するのは気が進まないのです。MP のソース コードを少し調べてみると、悪いことは何も起こらないことがわかりますが、. . .

これはすべてのデバイスで発生するわけではありません。たとえば、HTC は Samsung よりも動作が優れているようです (「同じ」OS/API レベル - 私は 2 つのソース ツリーを比較するほど野心的ではありません)。

以下に示す動作は迷惑ですが、私 (logcat の出力を見ている人) にとってのみです。ユーザーまたはアプリケーションにとっては効果がないようです。MediaPlayer インスタンスを開始し、それは忙しいキャッシュアウェイ、そして(ユーザーが私のアプリを終了した場合)そこにそのディングルベリーをぶら下げたままにします. 私はこの時点で治療に多額のお金を縛っていますが、それは役に立っていないようです.

前もって感謝します。

0 投票する
1 に答える
2522 参照

android - 動作しないWebビューでファイルアップロードメニューを開く

AndroidAddMember.aspxページからWebビューでファイルアップロードメニューを開くことができる必要があります。私はこの修正を見つけましたが、正しく実装しているとは思いません。修理

ファイルアップロードボタンは、電話とPCのブラウザでは正常に機能しますが、Webビューで一度は機能しません。

以下の最初のcaseステートメントにボタン付きのページを埋め込みます。

どんな助けでも素晴らしいでしょう。ありがとう

0 投票する
1 に答える
1514 参照

android - webchromeclient で読み込む webview の取得

以下の新しいコードでこの Web ビューを開くことができません。コメントアウトしたコードで動作させました。Web ビューをロードするには、新しいコードを取得する必要があります。このサンプルコードを使用しています。ページが開かない問題を解決するにはどうすればよいですか? サンプルコード