今天做毕设的时候在实现网页快照的时候想打开计算机本地的的网页,发现一个很奇怪的问题
开始的方法是用直接用超链接的方式
out.print("<ahref=\""+snapshot+"\">" + "<fontcolor=\"#0033CC\">网页快照</font></a><br/>");
但是出现一个问题就是有的链接能打开,有的就是不行,大部分都不行,找了半天实在找不出问题
file:///D:/Workspaces/MyEclipse8.5/heritrix/jobs/zol-20110314071703453/mirror/www.fjzol.com/html/mobile/list_46_10.html
file:///D:/Workspaces/MyEclipse8.5/heritrix/jobs/zol-20110314071703453/mirror/bbs.zol.com.cn/74_1450.html
第一个页面就可以顺利打开,第二个就不行,连右键新窗口也不行
废了我挺多时间,后来只有用JS,其中一个链接输出的时候把所有的斜杠全去掉了,不知道为什么,后来找到下面的解决方法很好用。
打开一个小窗口的javascript
<script type="text/javascript">
<!--
-->
</script>
超链接:
<a href="http://www.ccitsoft.com"onclick="openwindow(this.href);returnfalse">软件学院</a>
如果不是在一个小窗口中打开,可以直接用:
<a href="http://www.ccitsoft.com" onclick="window.open(this.href);return false">软件学院</a>
我修改成:
out.print("<a href=\""+snapshot+"\"onclick=\"window.open(this.href);return false\">" + "<font color=\"#0033CC\">网页快照</font> </a><br />");
snapshot是我的链接地址。
后来发现这样是不行的,因为浏览器为了安全的考虑不允许直接访问客户端的文件,所以JS这样做事不被允许的
解决方案将文件copy到服务器目录下,通过相对路径访问就可以了