我正在尝试创建一个在新窗口中打开.jpg和.pdf文件的javascript,并且在单击文件链接时我会收到一个非常烦人的错误。从挪威语翻译,弹出错误说:
“页面无效的网址(网站?):”。
当我在该错误消息上单击“确定”时,新的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>
脚本检查页面是否包含含有相关文件扩展名的标签,然后在其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)
答案 0 :(得分:0)
这是因为大多数浏览器没有本机功能来显示除基于Web的文件格式之外的文件格式。特别是.pdf
。您可能为IE安装了.pdf
插件,而不是其他浏览器。我建议而不是你正在做什么,打开一个 包含 一个.pdf
的新页面,而不是 是 强>一个。
答案 1 :(得分: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;
}
}