在共享驱动器上打开文件的Javascript无效
帮派 我希望有人能告诉我我做错了什么。我已经搜索了好几个地方,我所做的一切都应该是有效的,但事实并非如此。我在当地公司的内部网上有一个网页。当有人单击包含相关文档的类别的复选框时,页面应打开网络共享驱动器中的文件(通常为.docx或.xlsx)。我输入了一条警告消息,以确保它正在通过函数的该部分。这是可行的,但之后什么也没发生。这是函数,这是我如何调用它的在共享驱动器上打开文件的Javascript无效,javascript,Javascript,帮派 我希望有人能告诉我我做错了什么。我已经搜索了好几个地方,我所做的一切都应该是有效的,但事实并非如此。我在当地公司的内部网上有一个网页。当有人单击包含相关文档的类别的复选框时,页面应打开网络共享驱动器中的文件(通常为.docx或.xlsx)。我输入了一条警告消息,以确保它正在通过函数的该部分。这是可行的,但之后什么也没发生。这是函数,这是我如何调用它的 <script type="text/javascript"> function opensupport(chkbox, ur
<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,因此拒绝打开窗口。检查:你看到这个了吗:嘎!!我总是忽略最简单的事情。当我将“\”替换为“/”时,这就起了作用。