Как я могу загрузить все файлы, на которые нажимает пользователь (которые нельзя просмотреть в элементе управления веб-браузера GeckoFx)? - PullRequest
0 голосов
/ 29 января 2019

Я создаю веб-браузер, используя C # и GeckoFx 60 , и пытаюсь настроить систему загрузки.Я бы хотел, чтобы браузер загрузил любые файлы, которые нельзя просмотреть в браузере .

Я посмотрел на это решение , но это было специально для HTML иЯ не уверен, как бы я это сделал для C # или встроенного JavaScript.

Я пробовал что-то похожее на это:

selectedBrowser.AddMessageEventListener("downloadFile", (string p) => DownloadFileAsync(p));
js.EvaluateScript(@"var elements = document.getElementsByTagName('a');
                    for (var i = 0, len = elements.length; i < len; i++)
                    {
                            if(!elements[i].href.endsWith('.html')){
                            elements[i].onclick = function() {
                                event = new MessageEvent('downloadFile', { 'view': window, 'bubbles': false, 'cancelable': false, 'data': this.href });
                                document.dispatchEvent(event);
                            }
                    }", out result);

где 'js' было AutoJSContext js = new AutoJSContext(selectedBrowser.Window), но не всестраницы заканчиваются на .html, и поэтому этот ofc может завершиться ошибкой.

Есть ли способ определить, является ли страница файлом или ее нельзя просмотреть в браузере?

...