有沒有辦法通過C#請求iOS和Android WebView組件來請求桌面站點?Xamarin WebView請求桌面站點
1
A
回答
7
你需要做的每個平臺
Android
在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 Forms中無法直接執行此操作,因此您需要編寫一個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";
的Android
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. App Inventor 2 - webview請求桌面站點
- 2. 在rails bootstrap網站上的「請求桌面站點」選項
- 3. 在移動設備上請求桌面站點選項
- 4. MVC4強制移動站點的所有請求,包括桌面
- 5. 在iOS中使用WKWebView請求桌面站點
- 6. 請求桌面html NSURLSession
- 7. 跨站點請求
- 8. Xamarin HttpClient請求
- 9. Chrome的「請求桌面網站」選項如何工作?
- 10. 得知請求是否要求開放站點或獨立請求到站點
- 11. 跨站點AJAX請求
- 12. GWT RequestBuilder - 跨站點請求
- 13. GET請求跨站點
- 14. xamarin Windows Mobile和桌面
- 15. 桌面視圖中的請求鏈接
- 16. 請求ASP.NET網站的ipad chrome瀏覽器上的桌面網站選項
- 17. Android Webview POST請求
- 18. WKWebView只顯示桌面站點
- 19. 從移動站點的桌面站點鏈接
- 20. Xamarin Webview自動登錄到網站
- 21. Xamarin遞歸定位請求
- 22. Xamarin HttpClient請求超時
- 23. 將webview請求扔到另一個webview
- 24. [webView loadRequest:[webView請求]]做什麼?
- 25. 獲取該頁面桌面站點的來源不是移動站點
- 26. 請求節點模塊是否限制出站請求?
- 27. 將所有請求重定向到「站點離線」頁面
- 28. 驗證從桌面應用程序到我的網站的HTTP請求
- 29. 什麼是自動爲android瀏覽器請求桌面網站的html代碼?
- 30. 有沒有辦法覆蓋Chrome的「請求桌面網站」選項?
對於iOS:http://stackoverflow.com/questions/32764728/request-desktop-sites-using-wkwebview-in-ios –
For Android:http://stackoverflow.com/questions/8309796/want-to -load-desktop-version-in-my-webview-using-uastring –
謝謝Sven-Michael。這裏是Xamarin.forms的新功能。我將如何分別在應用程序的.iOS和.Android版本中調用這些函數? –