Jquery jqGrid单元格包含文件路径

Jquery jqGrid单元格包含文件路径,jquery,url,hyperlink,jqgrid,Jquery,Url,Hyperlink,Jqgrid,使用jqGrid 4.5.2和jQuery 1.9.1并将XML文件作为输入读取到网格中。一个单元格具有指向文件的路径。该文件可能有几种不同的类型.doc、.htm、.pdf等 在显示网格时,我需要使该单元格成为指向该文件共享的超链接。使用预定义格式类型的链接,它确实提供了指向该链接的超链接,但它将web服务器信息放在链接前面,例如: http://localhost:55555/\\servername\filepath1\filepath2\thisdoc.doc \\on中的所有内容都从

使用jqGrid 4.5.2和jQuery 1.9.1并将XML文件作为输入读取到网格中。一个单元格具有指向文件的路径。该文件可能有几种不同的类型.doc、.htm、.pdf等

在显示网格时,我需要使该单元格成为指向该文件共享的超链接。使用预定义格式类型的链接,它确实提供了指向该链接的超链接,但它将web服务器信息放在链接前面,例如:

http://localhost:55555/\\servername\filepath1\filepath2\thisdoc.doc

\\on中的所有内容都从XML中检索。如何使单元格内容成为超链接,但不显示网站信息?

我会为其编写自定义格式,如下所示:

var urlFormatter = function (cellValue, options, rowObject) {
    return '<a href="' + cellValue + '">' + cellValue + '</a>';
};
这样,结果应该是:

<a href="servername\filepath1\filepath2\thisdoc.doc">
    servername\filepath1\filepath2\thisdoc.doc
</a>
更新:

我没有意识到这是一个文件系统URL。在这种情况下,请按如下方式修改:

var urlFormatter = function (cellValue, options, rowObject) {
    return '<a href="file:///' + cellValue + '">' + cellValue + '</a>';
};
这将产生:

<a href="file:///servername\filepath1\filepath2\thisdoc.doc">
    servername\filepath1\filepath2\thisdoc.doc
</a>

这应该行得通。它以前不起作用的原因是浏览器将链接解释为相对链接,但您需要指向文件系统一部分的绝对链接。

我现在在colModel的格式化程序中具有该功能。cellvalue是正确的,但是如果将鼠标移到链接上,它仍然具有文件路径之前的值,如果右键单击并在新选项卡中打开,则返回404 Not Found错误。等等,servername实际上是一个域?它是一个文件共享,pdf、htm、doc等各种文档都位于其中。在网格中,它看起来是正确的。我放了一个console.log语句来转储cellvalue&它看起来也不错。但是,当您将鼠标悬停在链接上时,它会在filepath\\servername\filepath1\filepath2……之前出现错误。我做了更改,但不得不在文件中添加一个斜杠/URL的部分。我可以复制链接并将其粘贴到新窗口中,它将打开,但不能右键单击链接或单击它使其打开。这是您能得到的最好结果: