2015-04-21 3 views
0

Я играю с CefGlue (оболочка .net вокруг встроенного в Chrome). Мне нужно сделать некоторые доказательства концепции, поэтому я создаю свои собственные html-файлы, которые содержат то, что мне нужно для тестирования. Я не могу найти способ, чтобы загрузить эти файлыЗагрузить html-файл с диска с помощью CefGlue

CefBrowserHost.CreateBrowser(cefWindowInfo, cefClient, cefBrowserSettings, url); требует URL и не перегруженный метод, который принимает содержимое как строку Таким образом, вопрос:.. Как загрузить HTML-файл с диска

ответ

1

Я нашел решение: просто передайте полный путь к файлу в параметре url, и все работает нормально. Это просто как хром-файл с диска, поэтому я не знаю, почему я не пробовал это в первый раз.

2

Я не использовал CefGlue, но в общем вы можете использовать специальный обработчик ресурсов cef для загрузки файла. Вкратце, когда CEF видит ваш URL-адрес, он вызовет обработчик переопределения ресурсов, который вы настроили, и затем прочитайте этот ресурс в ab yte поток. В нашем случае мы читаем html-файл, скомпилированный в наши ресурсы приложения. В вашем случае, я полагаю, вы могли бы также прочитать ресурс с диска в то время, хотя я этого не делал. Если вы можете скомпилировать ресурсы в свое приложение C#, вы можете добавить html-файл в Ресурсы, если хотите.

Мы передаем URL-адрес CreateBrowserSync() в нашем случае, и CEF заканчивает вызов нашего ResourceHandler для его загрузки. Пример CefClient C++ имеет прекрасный пример этого, см. Resource_util_win.cpp.

Это настроено в переопределении обработчика в CefResourceHandler. Мы переопределили GetResourceHandler, их пример переопределяет ProcessRequest in SchemeHandler. См. Schem_test.cpp в примере CefClient.

Большая часть кода из их образцов является довольно плитой котла, и вы должны иметь возможность использовать то, что у них есть, в качестве основы для вашей реализации - это действительно слишком много кода, чтобы перечислить все это здесь.

+0

Посмотрите на мой собственный ответ. Спасибо за помощь –