这里是: 我有一个应用程序进行一些处理,写一些结果文件,然后在嵌入式IE浏览器控件中显示结果。这是通过将浏览器控件与包含生成的结果文件的查询字符串一起导航到本地HTML文件来完成的。链接目标看起来像:
c:\SomeFolder\results.htm?results=file%201.xml;file%202.xml;file%203.xml
到目前为止,一切都很好。但是,在HTML页面中是一个href,它被假定为在普通的浏览器窗口中打开完全相同的。
我认为可行的是:
<a href="#" target="_blank">Show in browser</a>
由于它是IE控件中显示的HTML页面中的链接,因此无论默认浏览器是什么,链接都将在IE中打开。这适用于IE7和8,但不适用于IE6。使用IE6,查询字符串被切断,浏览器打开
file://c:/results/results.htm#
没有查询字符串。
我确信在没有#
的情况下必须有一个更好的方法来实现这一点,并且它可以在所有IE中使用。
专业人士如何解决这个问题?
答案 0 :(得分:1)
这应该有效:
<a href="javascript://;" onclick="this.href=document.location" target="_blank">Show in browser</a>
答案 1 :(得分:0)
我愿意;
<a href="yourpage.html" target="_blank" onclick="return !window.open(location.href, this.target);">Show in browser</a>
(锚中的'yourpage.html'是为了满足一个锚应该有一个href的事实,只有在window.open()失败时才会加载它