Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在共享驱动器上打开文件的Javascript无效_Javascript - Fatal编程技术网

在共享驱动器上打开文件的Javascript无效

在共享驱动器上打开文件的Javascript无效,javascript,Javascript,帮派 我希望有人能告诉我我做错了什么。我已经搜索了好几个地方,我所做的一切都应该是有效的,但事实并非如此。我在当地公司的内部网上有一个网页。当有人单击包含相关文档的类别的复选框时,页面应打开网络共享驱动器中的文件(通常为.docx或.xlsx)。我输入了一条警告消息,以确保它正在通过函数的该部分。这是可行的,但之后什么也没发生。这是函数,这是我如何调用它的 <script type="text/javascript"> function opensupport(chkbox, ur

帮派

我希望有人能告诉我我做错了什么。我已经搜索了好几个地方,我所做的一切都应该是有效的,但事实并非如此。我在当地公司的内部网上有一个网页。当有人单击包含相关文档的类别的复选框时,页面应打开网络共享驱动器中的文件(通常为.docx或.xlsx)。我输入了一条警告消息,以确保它正在通过函数的该部分。这是可行的,但之后什么也没发生。这是函数,这是我如何调用它的

<script type="text/javascript"> 
function opensupport(chkbox, url) {
    var x = document.getElementById(chkbox)
    if (x.checked) {        
        if (confirm(x.value + " has an associated document to complete.  Would you like to open that now?")) {
            alert("opening " + url);
            window.open(url, 'newwin');
        } 
    }
}

函数opensupport(chkbox,url){
var x=document.getElementById(chkbox)
如果(x.checked){
如果(确认(x.value+“有一个关联的文档要完成。您想现在打开吗?”){
警报(“打开”+url);
打开(url,'newwin');
} 
}
}

我是这样称呼它的

<input type='checkbox' name='initiative' id='34' value='Test Link' onclick="opensupport('34', 'file:\\qdcns0001\projects\EAI Vendor Management\fact sheets\docs\AdvancedMD_Fact_Sheet.doc')"/>

您需要避开斜杠

file://///qdcns0001\projects\EAI Vendor Management\fact sheets\docs\AdvancedMD_Fact_Sheet.doc

在Javascript字符串文字中,反斜杠是转义字符。您需要使用双反斜杠来获取字符串中的反斜杠:

'file:\\\\qdcns0001\\projects\\EAI Vendor Management\\fact sheets\\docs\\AdvancedMD_Fact_Sheet.doc'
正如用户11684所指出的,URL通常使用斜杠,而不是反斜杠,因此:

'file://qdcns0001/projects/EAI Vendor Management/fact sheets/docs/AdvancedMD_Fact_Sheet.doc'
此外,您可能需要对URL中的空格进行URL编码。尽管大多数浏览器对此非常宽容,但根据标准,URL可能不包含空格

'file://qdcns0001/projects/EAI%20Vendor%20Management/fact%20sheets/docs/AdvancedMD_Fact_Sheet.doc'

AFAIK URL使用前斜杠,即使您在Windows上也是如此。即使目录分隔符应该是反斜杠(我对此表示怀疑),URL的协议部分也应该使用双正斜杠。我怀疑浏览器根本无法解析URL,因此拒绝打开窗口。检查:你看到这个了吗:嘎!!我总是忽略最简单的事情。当我将“\”替换为“/”时,这就起了作用。