1

我正在尝试创建一个在新窗口中打开 .jpg 和 .pdf 文件的 javascript,并且在单击文件链接时我不断收到一个非常烦人的错误。从挪威翻译,弹出错误说:

页面(站点?)的 URL 地址无效: ”。

当我在该错误消息上单击“确定”时,新的 pdf/jpg 窗口将按预期打开。

如何摆脱完全冗余的错误消息?

<script language="javascript" type="text/javascript">
    _spBodyOnLoadFunctionNames.push("OpenPDFInNewWindow()"); 

    function OpenPDFInNewWindow()
    {      
      var aAllLinks = document.links;     
      for(var i=0;i<aAllLinks.length;i++)
      {
         var oA = aAllLinks[i];
         var sHREF = oA.href.toLowerCase();

         if(sHREF.indexOf(".jpg") > 0 || sHREF.indexOf(".pdf") > 0)
            oA.href="javascript:window.open('"+oA.href+"','test','width=300').focus();";
      }
    }
    </script>

该脚本会检查页面中包含相关文件扩展名的 a 标记,然后在其 href 属性中添加 window.open 命令。

我尝试过 IE9 和 Chrome,两种浏览器都有相同的期望。重要的是,这在 IE 中有效。我在 window.open 调用中尝试了许多不同的参数组合。oA.href 调用返回一个这样的 url:

http://<server>/arbeidsrom/ET24130/dokumenter/image.jpg

我是javascripts的菜鸟,所以在回复时请记住这一点:)

(代码片段来自 Randy Williams @ http://www.synergyonline.com/Blog/Lists/Posts/Post.aspx?ID=18

4

2 回答 2

0

这是因为大多数浏览器没有显示除基于 Web 的文件格式之外的本机功能。特别是.pdf。您可能.pdf为 IE 而不是为其他浏览器安装了插件。我建议而不是你在做什么,打开一个新页面,其中包含一个.pdf,而不是一个

于 2012-08-07T15:46:51.507 回答
0

试试这个

if(sHREF.indexOf(".jpg") !=-1 || sHREF.indexOf(".pdf") !=-1) {
  oA.onclick=function() {
    var w=window.open(this.href,'test','width=300'); 
    if(w) {
      w.focus(); 
      return false
    }; 
    return true;
  }
}
于 2012-08-07T16:06:41.093 回答