假设我获得了某个页面的源代码(例如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
代替。
直接写入WebBrowser的Url属性将导致Navigate(),它将删除我写的任何文本。
我正在寻找适用于其他元素的解决方案,例如样式表,javascript(例如<script language="text/javascript" src="myscript.js">
),链接等,而不仅仅是图片。
这可能吗?
答案 0 :(得分:5)
您可以尝试在头部插入<base>
元素:
http://www.w3.org/TR/html4/struct/links.html#edef-BASE
如何插入标记取决于您使用的语言,但您应该在<head>
之后直接获取基本标记,以便生成的源代码为:
<head><base href="http://example.com"/>
当然,如果文档中已有<base>
元素,则应将其删除。
答案 1 :(得分:3)
答案 2 :(得分:3)
您可以在代码中注入<BASE>
元素,并声明基数为http://example.com