質問

childbrowser を使用しています。私のPhoneGapアプリケーション内の外部Webページ。私の問題は、私が子Webページでタイトル/ヘッダーを追加できないことです。任意の提案?

私が今まで試したこと

toolbar.addView(edittext);が追加された代わりに

final TextView rowTextView = new TextView(ctx.getContext()); 
rowTextView.setText(myTitle); 
toolbar.addView(rowTextView); 
.

しかし、MyTitle変数を実行するにも渡す必要があるようです。 そのようにpluginresult execute()

のようなものを使うことができます
result = this.showWebPage(args.getString(0), args.optJSONObject(1), myTitle);
.

iOSのコードのコードの同じサンプルを追加できますか?

役に立ちましたか?

解決

「アップグレード」にする必要があります。このコードがある:webview.setWebViewClient(client);の周りのどこかにあります。次のように置き換えます。

webview.setWebViewClient(new WebViewClient() {
  @Override
    public void onPageFinished(WebView view, String url) {
      webview.loadUrl("javascript:(function(){"+"var t=document.head.getElementsByTagName('title')[0];t.innerHTML="+myNewTitle+"})()");
    }
});  
.

showWebPage()を設定するためにmyNewTitleのコードを読み取るオプションも微調整する必要があります。しかし、その後、あなたは行くのが良いはずです。

編集:

基本的に私はそれを少なくとも使用するために、そしておそらくあなたのツールバーのためにそれが必要ではなかったことを決定しました。もともと、フルHTMLソースをJSコードに送信することで、Google OAUTH2がわかりやすくすることができたように、私はティーをクリックしました。 Googleがそれを望んでいるところで、期間が望んでいるところでは、ツールバーは間違いなく必要ありません。私はコードから物をハックしなければなりませんでした、そしてオリジナルの著者は私が彼のコードで何をしたもので怒っているかもしれません...ここにチェックリスト:

import android.view.Gravity;
import android.util.TypedValue;
import android.graphics.Color;
import android.graphics.Typeface;

public class ChildBrowser extends Plugin {
  **public String zeTitle;**

//  private EditText edittext;
private TextView edittext;
.

EditTextへのすべての参照は、TextViewに変更する必要があります。

result = this.showWebPage(args.getString(0), args.optJSONObject(1)**, args.getString(2)**);
.

.jsファイルにも変更する必要があります。

public String showWebPage(final String url, JSONObject options**, String myNewTitle**) {
  if (options != null) {
    showLocationBar = options.optBoolean("showLocationBar", true);
  }
  **zeTitle=myNewTitle;**
.

ImageButton関連コードをすべてコメントアウトします。

edittext = new TextView(ctx.getContext()); // insread of EditText
.

edittext.setOnKeyListener

をコメントアウトします。
// edittext.setText(url);
edittext.setText(zeTitle);
edittext.setTextSize(TypedValue.COMPLEX_UNIT_PX, 24);
edittext.setGravity(Gravity.CENTER);
edittext.setTextColor(Color.DKGRAY);
edittext.setTypeface(Typeface.DEFAULT_BOLD);
.

ツールバーに追加する必要があるものだけ:

// toolbar.addView(back);
// toolbar.addView(forward);
toolbar.addView(edittext);
// toolbar.addView(close);
.

最終的に:

public class ChildBrowserClient extends WebViewClient {
// EditText edittext;
  TextView edittext;

/**
 * Constructor.
 * 
 * @param mContext
 * @param edittext 
 */
public ChildBrowserClient(TextView mEditText) {
//  this.edittext = mEditText;
}
.

JSコードの場合:

cb.showWebPage(YOUR_URL, {showLocationBar:true}, YOUR_TITLE);
.

行くのが良いはずです。私はGitHubで私が使用する更新版を更新します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top