如何在 IHTMLDocument2 中设置 url,而不导航到新页面

发布于 2024-12-16 19:47:05 字数 373 浏览 3 评论 0原文

写入后如何设置 htmldocument 的 url。例如:

WebBrowser wb = new WebBrowser();
wb.Navigate(new Uri(location, UriKind.Absolute));
IHTMLDocument2 myDoc = new HTMLDocumentClass();
myDoc.write(new object[] { wb.DocumentText});
myDoc.close();

如果我执行 myDoc.url = "http://www.google.com" 它会尝试加载 google。
如何设置 url,而不尝试加载该 url?

How do I set the url of an htmldocument after I've written to it. For example:

WebBrowser wb = new WebBrowser();
wb.Navigate(new Uri(location, UriKind.Absolute));
IHTMLDocument2 myDoc = new HTMLDocumentClass();
myDoc.write(new object[] { wb.DocumentText});
myDoc.close();

If I do myDoc.url = "http://www.google.com" it attempts to load google.
How do I set the url without having it attempt to load that url?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

瑶笙 2024-12-23 19:47:05

这些步骤应该为您提供一个包含正确 URL 和您自己的内容的文档:

  1. 直接从 URL 创建文档(这样您以后就不必设置 URL)
  2. 停止文档下载(因为您不需要该内容)
  3. 用您的内容填充文档content

此代码显示了如何执行此操作:

// 1. Create new document from URL
IHTMLDocument2 NewDoc = (wb.Document as IHTMLDocument4).createDocumentFromUrl("http://www.stackoverflow.com", "null");
// 2. Immediately stop navigating; the URL is still set
NewDoc.execCommand("Stop", false, null);
// 3. Now write your stuff to the document
// ... 

注意:很难猜测在步骤 1 和 2 之间可以下载多少内容,因为加载是异步发生的。因此,最好在执行步骤 3 之前检查文档是否确实为空。如果不是,请清除文档并继续。

These steps should give you a document with correct URL and your own content:

  1. Create document directly from URL (so you don't have to set the URL later)
  2. Stop document download (because you don't need the content)
  3. Fill document with your content

This code shows how to do it:

// 1. Create new document from URL
IHTMLDocument2 NewDoc = (wb.Document as IHTMLDocument4).createDocumentFromUrl("http://www.stackoverflow.com", "null");
// 2. Immediately stop navigating; the URL is still set
NewDoc.execCommand("Stop", false, null);
// 3. Now write your stuff to the document
// ... 

Note: It's hard to guess how much content can be downloaded between steps 1 and 2 because loading happens asynchronously. So it's probably good to check if the document is indeed empty before doing step 3. If not, clear the document and proceed.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文