【问题标题】:javascript: window.open throws invalid url errorjavascript: window.open 抛出无效的 url 错误
【发布时间】:2012-08-07 15:40:44
【问题描述】:

我正在尝试创建一个在新窗口中打开 .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-tags,然后在其 href 属性中添加 window.open 命令。

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

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

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

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

【问题讨论】:

    标签: javascript url window.open


    【解决方案1】:

    试试这个

    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;
      }
    }
    

    【讨论】:

    • 谢谢 mplungjan,成功了!
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-06-17
      • 2011-08-13
      • 2014-09-26
      • 2018-01-09
      • 1970-01-01
      • 2019-01-25
      • 1970-01-01
      相关资源
      最近更新 更多