vb.net awesomium отменить запрос, когда URL содержит конкретное ключевое слово

Я использую awesomium и vb.net в качестве клиентского приложения для моего веб-приложения. Может кто-нибудь сказать мне, как отменить запрос, когда URL-адрес содержит конкретное ключевое слово. например, если мой URL содержит представление, то мне нужно отменить запрос и загрузить PDF на локальный компьютер и просмотреть его с помощью клиентского средства просмотра PDF. Я сделал вторую часть, но я не знаю, как отменить запрос.

используя родной веб-контроль vb.net у меня есть событие навигации. но что это событие эквивалентно этому в Awesomium

ниже код, который я использую

Public Class ResourceInterceptor  Implements IResourceInterceptor
Public Function OnFilterNavigation(ByVal request As NavigationRequest) As Boolean Implements IResourceInterceptor.OnFilterNavigation
    If request.Url.ToString.Contains("ViewPdf") Then
        Path = ExtractPath(request.Url.ToString)
        openpdf(Path)
        Return False ' Cancel the request. 
    Else
        System.Diagnostics.Process.Start(request.Url.ToString)
        Return True
    End If
End Function

Public Function OnRequest(ByVal request As ResourceRequest) As ResourceResponse Implements IResourceInterceptor.OnRequest
    Return Nothing
End Function

End Class

Может ли кто-нибудь сказать, как отменить запрос, когда URL содержит указанный текст

1 ответ

Решение

Реализовать Awesomium.Core.IResourceInterceptor интерфейс и присоедините его к сеансу WebCore.ResourceInterceptor = new ResourceInterceptor();

Вот простой ResourceInterceptor в C#.

using System;
using System.IO;
using System.Reflection;
using Awesomium.Core;

namespace MyApp
{
    public class ResourceInterceptor : IResourceInterceptor
    {
        /// <summary>
        ///     Not used.
        /// </summary>
        public virtual ResourceResponse OnRequest(ResourceRequest request)
        {
             return null;
        }

        /// <summary>
        ///     Optionally blocks any web browser requests by returning true when the URL contains "/view/".
        /// </summary>
        public virtual bool OnFilterNavigation(NavigationRequest request)
        {
            return String.Contains(request.Url.AbsolutePath, "/ViewPdf/", StringComparison.InvariantCultureIgnoreCase);
        }
    }
}
Другие вопросы по тегам