2014-12-05 147 views
0

我有一个PDF文件的共享路径。如果我在地址栏中粘贴路径,该文件将在所有浏览器中完美打开。下面的代码工作正常,在IE 8,但无法在Chrome和Firefox从浏览器中的共享路径打开文件

代码

function openPDF(file) { window.open(file, '_blank'); } 

function linkFormatter(cellvalue, options, rowObject) { 

    if ($.trim(cellvalue) == "" || cellvalue == null) 
     return $.trim(cellvalue); 
    else 
     return '<a href="#" onclick="openPDF(\'file:' + rowObject["URL"].replace(/\\/g, "/") + cellvalue + '\')" >' + cellvalue + '</a>'; 
} 

我使用这个代码JQgrid使链接栏。

请在此帮助,使其适用于所有浏览器。

回答

1

我建议在openPDF内部指定location.href而不是用法window.open。此外,我认为更好地使用beforeSelectRow(或onCellSelect)来设置点击事件处理程序。见the answer,this one,this one等。

+0

它在IE8中工作,但不在其他浏览器中。 我的路径看起来像\\ servername \ foldername \ name.pdf – Habeeb 2014-12-05 06:52:00

+0

@ HbV2:这样的URL不是真正的URL,它将在生产中使用。无论如何,你可以在网络浏览器中粘贴这样的URL,看看它将如何修复。例如,你会在Chrome中看到'file:// servername/foldername/name.pdf'。所以你可以使用URL的固定语法,取决于你使用的网页浏览器。 – Oleg 2014-12-05 07:48:56

+0

发现此问题。由于浏览器是沙盒,它不会允许打开本地文件。谢谢你的回答 – Habeeb 2014-12-05 12:01:39