Вопрос по html, c#, browser, url – Подмена URL в веб-браузере

3

Допустим, я получил исходный код какой-либо страницы (например,http://example.com). Теперь я хочу написать этот исходный код в WebBrowser, используя что-то вроде:

myWebBrowser.Navigate("about:blank");
myWebBrowser.Document.Write(sourceCode);

Теперь давайте представим, что на домашней странице Example.com есть относительный URL, такой как:

<img src="/logo.gif" />

WebBrowser попытается загрузить его изabout:blank/logo.gif, Я хочу сказать WebBrowser, что «текущий адрес»http://example.com так что он используетhttp://example.com/logo.gif вместо.

Запись непосредственно в свойство Url WebBrowser вызовет Navigate (), который избавится от любого текста, который я написал.

Я ищу решение, которое работает для других элементов, таких как таблицы стилей, javascript (например,<script language="text/javascript" src="myscript.js">), ссылки и т. д., а не только изображения.

Это возможно?

Ваш Ответ

3   ответа
5

<base> элемент в голове:http://www.w3.org/TR/html4/struct/links.html#edef-BASE

Способ вставки тега зависит от языка, который вы используете, но вы должны стремиться получить базовый тег непосредственно после<head> так что результирующий источник читает:

<head><base href="http://example.com"/>

Конечно, если уже есть<base> элемент в документе, вы должны удалить это.

3

браузер будет перемещаться по нему, и вы ничего не можете с этим поделать.

Но в вашем HTML можно «подделать» исходный URL для ваших ресурсов, используя<BASE> тег.

Я думаю, что это ближе всего вы можете пойти.

3

<BASE> элемент в вашем коде и утверждают, что базаhttp://example.com

Похожие вопросы