Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Разработка Windows Forms > WebBrowser и локальный каталог по умолчанию


Автор: Softaz 28.12.2006, 03:48
Имеется обычный WebBrowser
Свойству DocumentText присваивается сгенерированный текст документа типа Шапка + Сам_Текст + Подвал
в тексте имеется множество разных ссылок, картинок и т.п.
Некоторые из них относительные, поэтому если просто загрузить сгенерированный текст в браузер,
то текущий url будет about:blank, поэтому ссылки будут недоступны.

Где поставить текущий каталог не нашел. smile 
То есть, если в тексте встречается относительная ссылка, WebBrowser приписывает к началу адрес about:blank. Метод Navigate не предлагайте - докуент генерируется "на лету".

Сделал с помощью WebBrowser получение и замену html атрибутов src и href с некоторыми условиями (это, конечно, не решение)
Получились ссылки типа file:///путь_до_файла - но именно компонент WebBrowser именно когда текст ему присвоен через св-во DocumentText по ним не переходит smile, хотя обычный браузер делает это с удовольствием.

Вообщем, как с меньшей кровью указать WebBrowser каталог по умолчанию с тем, чтобы осуществлялся переход по относительным ссылкам?

Добавлено @ 03:51 
P.S.: также можно переход по ссылкам делать через JS, но и это не удобно. Чувствую, что решение очень простое, а найти не могу smile

Автор: ivashkanet 28.12.2006, 10:15
Цитата

Элемент <BASE> определен внутри контейнера <HEAD> и инструктирует браузер относительно полного базового адреса текущего документа. Тег <BASE> предназначен для документов, в которых используется относительный адрес и эти документы могут переноситься в другую папку или даже на другой компьютер без потери связи. Браузер ищет тег <BASE>, определяет полный адрес документа и корректно загружает его. Например, если адрес документа указан как <base href="http://www.megasite.ru/hzchd">, то при добавлении рисунков достаточно использовать относительный адрес <img src="/images/labuda.gif">. При этом полный путь к изображению будет http://www.megasite.ru/hzchd/images/labuda.gif, что позволяет браузеру всегда находить графический файл, независимо от того, где находится текущая веб-страница. Также можно применять и иерархическую систему пути с двоеточием. Так, если изображение добавляется как <img src="../images/labuda.gif">, то полный путь к файлу будет http://www.megasite.ru/images/labuda.gif. 

Второе применение тега <BASE> — задание целевого окна для всех ссылок на текущей странице.


http://www.htmlbook.ru/html/base.html

Автор: Softaz 28.12.2006, 10:52
ivashkanet, спасибо! Картинки появились. С переходами по относительным ссылкам пока та же проблема.

Добавлено @ 11:03 
Что интересно, если задать адрес в BASE с http://, то переход по ссылкам есть. А с file:/// почему-то нет

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)