我有一個加載網頁,做了一些計算,然後將JavaScript重定向到另一個網頁。它看起來是這樣的:如何在C#WebBrowser控件中獲取重定向的url
http://www.mysite.com/startpage.html
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
$(document).ready(function() {
window.location = "http://www.mynewurl.com";
});
</head>
<body>
Something
</body>
</html>
現在我有一個加載WebBrowser控件和我目標是能夠從我的C#中檢索http://www.mynewurl.com
一個asp.net MVC應用程序WebBrowser控件。
我的web瀏覽器的代碼如下所示:
WebBrowser webBrowser = new WebBrowser
{
ScrollBarsEnabled = false,
Size = new Size(Width, Height),
ScriptErrorsSuppressed = true
};
webBrowser.NewWindow += WebBrowserNewWindow;
webBrowser.Navigate("http://www.mysite.com/startpage.html");
//wait for it to load
while (webBrowser.ReadyState != WebBrowserReadyState.Complete)
{
Application.DoEvents();
}
Uri myUrl = webBrowser.Url; //This is how I have been trying to get it.
所以,當我打開我的web瀏覽器控制我把它發送到http://www.mysite.com/startpage.html
。它做了一個JavaScript重定向到http://www.mynewurl.com
。我想以某種方式捕捉我的C#代碼中的URL。
關於我如何實現這一點的任何想法?
我noticted,我可以使用 了Thread.Sleep(10000); 在while循環加載之後,它實際上獲取我的值。我猜瀏覽器需要永遠接受來自javaScript的響應。顯然這不是一個可以接受的等待時間。尋找另一種解決方案。 – 2010-02-18 16:34:19
我決定不去追求這個。我不知道如何關閉這篇文章。 – 2010-02-23 14:33:16