WebBrowser プラグインの使用時に発生する UE4 の問題と解決策

1. Web ページのビデオを再生できません。これは、UE4 の WebBrowser に cef3 バージョン 3071 が付属しており、デフォルトでは h264 およびその他のライブ ストリームをサポートしていないため、Web 内のライブ ストリームを再生できません。

解決策: 最初の方法は、H.264 をサポートするように cef ソース コードを再コンパイルし、UE4 インストール ディレクトリ内の関連ファイルを置き換えることです。インターネット上にチュートリアルがあるので、自分で検索してください。2 番目の方法は、変更されたプラグイン、淘宝網を直接見つけることです。

2. Web ページのスライダーを非表示にする

解決策: ウェブブラウザの ExecuteJavascript 関数を使用して、js コードを実行します。このコードの一般的な意味は、スライダーの長さと幅を 0 に設定して、スライド項目を非表示にすることです。js コードは次のとおりである必要があることに注意してください。 Web ページの前に完全にロードされる js コードを正しく実行しますが、UE には Web ページを完全にロードするためのコールバックがないため、この関数を使用する前に遅延を追加し、特定の遅延を自分でテストする必要があります。

var style = document.createElement('style');style.type = 'text/css';style.innerHTML = '::-webkit-scrollbar {width: 0px;height: 0px;}';document.getElementsByTagName('head')[0].appendChild(style);

3. Webブラウザで開いたWebページでは編集ボックスに中国語を入力できません

解決策: ソース コードを変更し、WebViewBrowser.cpp 内の RebuildWidget 関数を見つけて変更します。

//支持中文输入
ITextInputMethodSystem* const TextInputMethodSystem = FSlateApplication::Get().GetTextInputMethodSystem();
WebViewBrowserWidget->BindInputMethodSystem(TextInputMethodSystem);

4. OnTouchMoved メソッドが WebViewBrowserViewport クラスで書き換えられていないため、タッチ スクリーンでは上下のスライドはサポートされていません。

解決策: このメソッドを書き換えてロジックを実装します。もう 1 つの問題は、タッチ スクリーン上で移動すると、OnMouseButtonDown 関数と OnTouchMove 関数が同時にトリガーされることです。Web ページ内でスライドするロジックとボタンをクリックするロジックは、が同時に発生するため、ボタンイベントが発生しないように OnMouseButtonUp で判断する必要があります。

virtual FReply OnTouchMoved(const FGeometry& MyGeometry, const FPointerEvent& InTouchEvent) override;

FVector2D clickpos;

clickpos = MouseEvent.GetScreenSpacePosition();

FVector2D vec = MouseEvent.GetScreenSpacePosition() - clickpos;
	if (!(FMath::Abs(vec.Y) < 1))
	{
		return FReply::Handled();
	}

FReply FWebViewBrowserViewport::OnTouchMoved(const FGeometry& MyGeometry, const FPointerEvent& InTouchEvent)
{
	FVector2D vec = InTouchEvent.GetCursorDelta();
	FString str = FString::Printf(TEXT("window.scrollBy(0,%f);"), vec.Y * -1);
	WebViewBrowserWindow->ExecuteJavascript(str);
	return FReply::Handled();
}

おすすめ

転載: blog.csdn.net/qq_41410054/article/details/131686087