HowTo: WPF Webbrowser вернуть текущий URL / фильтр порно - PullRequest
0 голосов
/ 14 июня 2011

Я использую WebBrowser WPF и в основном, когда я загрузить внешний URL-адрес, я хочу, чтобы фильтровать любые страницы, которые загружены, чтобы убедиться в URL оленья кожа содержит ругательное или типа порно слово.

Это легко сделать при загрузке страницы, так как я проверяю URL по моим плохим словам List; Я также настроил метод Load Completed, который возвращает URL кликаемых слов, однако это не работает должным образом: -

    void webBrowser1_LoadCompleted(object sender, NavigationEventArgs e)
    {
        mshtml.IHTMLDocument2 doc = (mshtml.IHTMLDocument2)this.webBrowser1.Document;

        foreach (IHTMLElement link in doc.links)
        {
            HTMLAnchorElement anchor = link as HTMLAnchorElement;
            if (anchor != null)
            {
                HTMLAnchorEvents_Event handler = anchor as HTMLAnchorEvents_Event;
                if (handler != null)
                {
                    handler.onclick += new HTMLAnchorEvents_onclickEventHandler(delegate()
                    {
                        uxURLText.Text = anchor.href;

                        //if (HelperClass.isNotFile(anchor.href))
                       // {

                        if (basepage.nonSafeWords.WordsContainSwearWord(anchor.href))
                        {
                            System.Windows.MessageBox.Show(basepage.INTERNET_RESTRICTION_NOTICE);

                        }
                        else
                        {
                            System.Windows.MessageBox.Show("Word Ok");
                        }
                        return true;
                    });
                }
            }
        }
    }

Мне нужно, по сути, остановить загрузку любого плохого контента в окне, будь то ссылка, кнопка или ajax, если нажата плохая ссылка, всплывающее окно должно уведомить нас. Мне также нужно показать текущий адрес в адресной строке

Пожалуйста, помогите большое спасибо

:)

Ответы [ 2 ]

1 голос
/ 14 июня 2011

Прослушайте событие WebBrowser.Navigating ( документы ) и отметьте Uri in NavigatingCancelEventArgs. Затем установите e.Cancel = true, если вы не хотите разрешать навигацию.

Но ваша действительная проверка Uri - более сложная проблема.

0 голосов
/ 29 июня 2015
private void webBrowser1_Navigating(object sender, NavigatingCancelEventArgs e)
    {
    string currentURl= e.Uri.ToString();
    _addrBox.Text = currentURl;
    }

это было решением в моем случае.может, это поможет кому-нибудь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...