Прямая навигация по браузеру с помощью XBAP - PullRequest
3 голосов
/ 13 апреля 2009

Я работаю над браузерным приложением с полным доверием (XBAP) и натолкнулся на загадку. Приложение на клиенте подключено для обработки запросов навигации с определенным префиксом / протоколом. (Например, 'foo: // ... ") Кроме того, приложение обрабатывает их по-разному, в зависимости от того, какой браузер создает запрос. Я пробовал метод' NavigationService.Navigate () 'страницы, но по какой-то странной причине это включает объекты WebRequest, которые вызывают NotSupportedException, говорящее «Префикс URI не распознан». Я могу создать элемент управления WebBrowser и успешно перемещаться по IT с этим префиксом, но приложение распознает его как другой браузер и реагирует по-другому. Я бы хотел напрямую установить в браузере «window.location», который прекрасно работает, но, конечно, это доступно только в платформе Silverlight.

Итак, суть в том, что мне нужно запустить браузер с XBAP для перехода к URI с этим специальным префиксом.

Уф. Вот и все, я думаю. Спасибо.

Обновление : .Net Framework 4.0 разрешит прямой доступ к DOM браузера, который решит эту проблему, однако я все еще ищу способы сделать это в .Net 3.x.

1 Ответ

3 голосов
/ 18 февраля 2010

Вы можете попытаться использовать BrowserInteropHelper.ClientSite для доступа к DOM. Проверьте этот пост для образца:

http://blogs.msdn.com/changov/archive/2009/03/01/scripting-out-of-an-xbap.aspx

Обратите внимание, что это будет работать только для Internet Explorer.

...