IE 6本地html链接破坏了.NET webbrowser

时间:2011-02-01 17:03:27

标签: html internet-explorer browser hyperlink

我的应用程序中嵌入了WebBrowser。我正在加载一个html文档,其中包含指向文档中其他部分的链接。以下是如何创建链接的示例...

...
<span style='color:blue;mso-no-proof:yes'>
  <a href="#_Toc179681722">21-20-1 Distribution Damper
     <span style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;text-underline:none'>
        <span style='mso-tab-count:1 dotted'> </span>
     </span>
     <!--[if supportFields]><span style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;text-underline:none'>
        <span style='mso-element:field-begin'></span>
     </span>
     <span style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;text-underline:none'> PAGEREF _Toc179681722 \h </span>
     <span style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;text-underline:none'>
        <span style='mso-element:field-separator'></span>
     </span><![endif]-->
     <span style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;text-underline:none'>21.1</span>
     <span style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;text-underline:none'>
        <!--[if gte mso 9]><xml> <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003100370039003600380031003700320032000000</w:data>
        </xml><![endif]-->
     </span><!--[if supportFields]>
     <span style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;text-underline:none'>
        <span style='mso-element:field-end'></span>
     </span><![endif]-->
  </a>
</span>
...

当我使用我的开发机器(具有IE 8)并加载文档时,所有链接都能正常工作。

当我在生产机器(具有IE 6)上加载文档并点击链接时,它会显示一个新页面,其中包含文本“空白#_Toc179681722 ”,而不是其他内容。

注意:我可能会补充一点,这个html文档是从Microsoft Word创建的,我无法控制更改语法。

任何人都有关于发生了什么的想法?以及如何解决它?

2 个答案:

答案 0 :(得分:0)

我没有看到您的链接的结束标记</a>

许多较新的浏览器会为您解决此问题,并重新解释html。 IE6可能无法做到这一点,导致网址奇怪地运行。

答案 1 :(得分:0)

您可以将“_Toc179681722”设置为您希望a元素定位的范围的ID吗?

显示新页面绝对不常见,因为未找到的标签应该只是将您重定向到页面顶部而没有错误。 (Reference