2011-12-21 26 views
9

Dường như thuộc tính nguồn cho điều khiển XAML WebView đang cập nhật khi người dùng đang điều hướng trong WebView. Có thể nhận được Uri hiện tại hoặc HTML hiện đang được hiển thị trong WebView không? Nhu cầu của tôi là phân tích cú pháp HTML đang được hiển thị để có thể hoạt động.Tôi có thể nhận được HTML hoặc Uri hiện tại cho điều khiển Metro WebView không?

Trả lời

9

Chỉ ra rằng WebView không cung cấp cách lấy trực tiếp HTML của nó. Nhưng bạn có thể sử dụng WebView.InvokeScript như sau:

webview.InvokeScript("eval", new string[] {"document.documentElement.outerHTML;"}) 

Bạn cũng có thể lấy Uri thông qua NavigationEventArgs.Uri của sự kiện LoadCompleted.

-1

Tài sản bạn đang tìm kiếm được gọi là Source.

http://msdn.microsoft.com/en-us/library/windows/apps/windows.ui.xaml.controls.webview.source.aspx

Unluckily các Document tài sản của WinForms WebBrowser dường như không tồn tại nữa. Bạn sẽ phải tải xuống lại trang và xử lý trang bằng các thư viện như HtmlAgilityPackFizzler/FizzlerEx.

+0

Tôi sẽ xem lại nhưng có vẻ như thuộc tính Nguồn đang cập nhật khi người dùng nhấp vào liên kết. –

+0

Câu hỏi là về ứng dụng Metro/Windows 8 hoặc UWP, không phải WinForms –

+0

Tôi chỉ đề cập đến 'WinForms' để chỉ ra sự khác biệt giữa cũ và mới 'WebBrowser' (WinForms vs XAML). Thuộc tính 'Source' vẫn là một lựa chọn khả thi. – Andrea

0

Bạn đã xem sự kiện LoadCompleted cho WebView chưa? Điều đó cho phép URI vừa được tải.

Các vấn đề liên quan