2012-10-16 96 views
0

我發現嵌入式UIWebView不會導致回發,如果按鈕是一個asp.net LinkButton,但它們與Button的工作正常。 Safari導致LinkButton的正常回發。ASP.Net LinkBut​​ton和iOS UIWebView

是否有任何解決方法呢?

代碼片段:

vwWebView.LoadRequest (new NSUrlRequest (new NSUrl (url))); 

(我們使用MonoTouch的,但這似乎是一個iOS的問題)

回答

1

事實證明,對於一個UIWebView的默認用戶代理是使IIS沒有的JavaScript發送到內容項目。解決方案是手動將webview的用戶代理設置爲移動Safari瀏覽器的用戶代理。

這裏的,使得它發生代碼:

static public void SetUserAgent(UIWebView webview) { 
    var agent = "Mozilla/5.0 (iPad; CPU OS 6_0 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Version/6.0 Mobile/10A403 Safari/8536.25"; 
    var webDocumentView = new NSObject(Messaging.IntPtr_objc_msgSend(webview.Handle, 
                    (new Selector("_documentView").Handle))); 
    var webView = webDocumentView.GetNativeField("_webView"); 
    Messaging.void_objc_msgSend_IntPtr(webView.Handle, 
             (new Selector("setCustomUserAgent:")).Handle,       
             (new NSString(agent)).Handle); 
} 

這篇文章提供的解決方案: http://blog.reinforce-lab.com/2010/06/monotouchuiwebviewhowtochangeuseragent.html

以下後不工作。它只是削減了第一次請求,但沒有後續瀏覽:http://monotouch.2284126.n4.nabble.com/seting-UIWebview-user-agent-objectiveC-question-td3807602.html