iOSとAndroid WebViewコンポーネントでデスクトップサイトをリクエストする方法はありますか?Xamarin WebViewリクエストデスクトップサイト
1
A
答えて
7
Android
カスタムレンダラを実装する必要があります。あなたのAndroidのコードにこれを追加します。
// this line directly ubleow usings, before namespace declaration
[assembly:ExportRenderer(typeof(WebView), typeof(DesktopWebViewRenderer))]
// this in your namespace
public class DesktopWebViewRenderer : WebViewRenderer
{
protected override void OnElementChanged(ElementChangedEventArgs<WebView> e)
{
base.OnElementChanged(e);
Control.Settings.UserAgentString = "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.4) Gecko/20100101 Firefox/4.0";
}
}
のiOS
XamarinフォームのUIWebViewを使用しているが、あなたはあなたのスタートアップコードで
NSUserDefaults.StandardUserDefaults.RegisterDefaults(new NSDictionary("UserAgent",
"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_3) AppleWebKit/537.75.14 (KHTML, like Gecko) Version/7.0.3 Safari/7046A194A"));
いくつかの場所を呼び出す必要がありますので。例えば。 AppDelegate
のFinishedLaunching
にあります。
1
ユーザエージェント文字列を適切に設定します。 Xamarinフォームでこれを直接行う方法はありません。そのためにはcustom rendererと記述する必要があります。
のiOSのUIWebView
NSUserDefaults.StandardUserDefaults.RegisterDefaults(["UserAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_3) AppleWebKit/537.75.14 (KHTML, like Gecko) Version/7.0.3 Safari/7046A194A"]);
iOS9 + WKWebView
web.CustomUserAgent = @"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.99 Safari/537.36";
アンドロイド
あなたはプラットフォームごとにこれを実行する必要がstring agent = "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.4) Gecko/20100101 Firefox/4.0";
web.Settings.UserAgentString = agent;
関連する問題
- 1. Calabash xamarin
- 2. Android C#Xamarinコンパイルエラー
- 3. Xamarin MasterPageのコンセプト
- 4. Xamarin Unknownビルドエラー
- 5. CoAP.NET for Xamarin
- 6. Visual Studio/Xamarin OnClickListener
- 7. Xamarin Androidソース - ビルドエラー
- 8. カスタムメニューのXamarinフォームカメラ
- 9. Xamarin + Visual Studio 2015
- 10. Xamarin Android Playerフリーズ
- 11. Xamarin Android App update
- 12. Xamarin Android C#タイマーエラー
- 13. Azure MobileServiceUserのXamarin
- 14. Xamarin MasterDetailPage fixedツールバー
- 15. Xamarin/monotouch UILabel multiline
- 16. Xamarin AXMLのトラブル
- 17. Xamarinアンドロイドアプリケーションのサイズ
- 18. XamarinマックツールバーとWindowController.h
- 19. Xamarinテストクラウド - アップロードエラー、値
- 20. Xamarinパッケージのインストールエラー
- 21. Xamarin UWPカスタムCommandBar
- 22. Xamarin:シンプルなクロスプラットフォームアラームアプリ
- 23. Xamarin SQLite.NETジェネリックTableQuery
- 24. Xamarin UWPブランドツールバー
- 25. xamarinアンドロイドプレイヤーのsqlite
- 26. XamarinフォームグローバルスタイルユニバーサルWindowsプラットフォーム
- 27. Xamarin - 崩壊テキスト
- 28. ファブリックTwitterKit on Xamarin
- 29. はXamarinとMvvmCross
- 30. XamarinアンドロイドマッピングJava.Lang.Enum
iOSの場合:http://stackoverflow.com/questions/32764728/request-desktop-sites-using-wkwebview-in-ios –
Androidの場合:http://stackoverflow.com/questions/8309796/want-to -load-desktop-version-in-my-webview-using-uastring –
ありがとうSven-Michael。ここでXamarin.formsを新しくしました。アプリの.iOSと.Androidバージョンでこれらの関数をそれぞれ呼び出す方法はどうですか? –