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

时间:2011-11-18 01:32:25

标签: url c#-4.0 mshtml ihtmldocument2

我写完后如何设置htmldocument的网址。例如:

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",它会尝试加载谷歌 如何设置网址而不尝试加载该网址?

1 个答案:

答案 0 :(得分:0)

这些步骤应该会为您提供包含正确网址和您自己内容的文档:

  1. 直接从网址创建文档(因此您不必稍后设置网址)
  2. 停止文档下载(因为您不需要内容)
  3. 使用您的内容填写文档
  4. 此代码显示了如何执行此操作:

    // 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之前检查文档是否确实为空可能是件好事。如果没有,请清除文档并继续。