Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/google-chrome/4.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
Internet explorer Chrome与IE中的HTML表单文件输入行为_Internet Explorer_Google Chrome_Browser_User Input_Forms - Fatal编程技术网

Internet explorer Chrome与IE中的HTML表单文件输入行为

Internet explorer Chrome与IE中的HTML表单文件输入行为,internet-explorer,google-chrome,browser,user-input,forms,Internet Explorer,Google Chrome,Browser,User Input,Forms,如果我在IE中尝试从HTML输入对象获取文件名值,它将返回完整路径和文件名,但在Chrome中,它只返回基本文件名。有没有一种方法可以让它返回完整的路径和文件名,而不管浏览器是什么,或者我必须跳转到类似JQuery的东西才能做到这一点?万能的上帝,我讨厌愚蠢的非标准网络“标准” 代码示例: <input type="file" name="fn" id="fn"/> 单击IE中的选择按钮并导航到类似“\server123\apps\folder1\setup.exe”的路径,表

如果我在IE中尝试从HTML输入对象获取文件名值,它将返回完整路径和文件名,但在Chrome中,它只返回基本文件名。有没有一种方法可以让它返回完整的路径和文件名,而不管浏览器是什么,或者我必须跳转到类似JQuery的东西才能做到这一点?万能的上帝,我讨厌愚蠢的非标准网络“标准”

代码示例:

<input type="file" name="fn" id="fn"/>


单击IE中的选择按钮并导航到类似“\server123\apps\folder1\setup.exe”的路径,表单中显示并在[submit]处理程序事件中处理的结果也是“\server123\apps\folder1\setup.exe”。但是,在Chrome 22.x到28.x中运行相同的步骤时,它只显示“setup.exe”,并通过[submit]处理程序将其传递给用户。有没有办法让它处理完整的路径和文件名而不考虑浏览器?

出于安全原因,Chrome会清除路径信息。因此,无法访问路径信息

fileinput.onchange = function(e) {
  console.log(e.target.value); // Will be c:\fakepath
}

我最终解决了这个问题,这样应用程序将检测用户使用的浏览器,并在不是IE的情况下显示相应的消息。该消息只是建议用户复制整个UNC路径并粘贴到评论框中。这完全是一个intranet应用程序,因此没有任何内容在外部公开。

请查看此答案(您是否先尝试用谷歌搜索此内容?)这是浏览器impl的实际区别,前面的答案不起作用。因此。。。。获取完整路径的唯一方法是(a)将JQuery代码添加到混合中(当前为所有ASP,而不是ASP.NET),或者(b)要求用户使用IE访问页面。是否正确?Chrome不会公开完整路径,它只会说fakepath