0

Web アプリケーションのクライアント側アプリケーションとして awesomium と vb.net を使用しています。URLに特定のキーワードが含まれている場合にリクエストをキャンセルする方法を教えてください。たとえば、私の URL に view が含まれている場合、リクエストをキャンセルし、pdf をローカル マシンにダウンロードして、クライアントの pdf ビューアーで表示する必要があります。2 番目の部分を実行しましたが、リクエストをキャンセルする方法がわかりません。

vb.netネイティブWebコントロールを使用して、ナビゲートイベントがあります。しかし、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に指定されたテキストが含まれている場合にリクエストをキャンセルする方法を誰でも言うことができますか

4

1 に答える 1

0

インターフェイスを実装Awesomium.Core.IResourceInterceptorし、Webcore セッションにアタッチします。WebCore.ResourceInterceptor = new ResourceInterceptor();

C# の単純な ResourceInterceptor を次に示します。

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);
        }
    }
}
于 2014-02-03T13:52:53.360 に答える