Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/390.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 如何检测浏览器是否可以打开iframe内的网络文件夹?_Javascript_Google Chrome_Internet Explorer_Browser Detection_Browser Feature Detection - Fatal编程技术网

Javascript 如何检测浏览器是否可以打开iframe内的网络文件夹?

Javascript 如何检测浏览器是否可以打开iframe内的网络文件夹?,javascript,google-chrome,internet-explorer,browser-detection,browser-feature-detection,Javascript,Google Chrome,Internet Explorer,Browser Detection,Browser Feature Detection,我需要提醒使用Chrome浏览的用户,他们需要使用IE打开页面,因为它允许在iframe中打开网络文件夹 但是我不想检测浏览器,有没有办法检测这个功能?没有,你检测不到这个功能(如果你可以这么说的话,允许网页在一个框架中显示本地文件夹是一个非常糟糕的主意)。同源策略阻止您知道帧中加载了什么,因此无法区分网络文件夹和错误页。您所能做的最好的事情是检查框架加载所需的时间: var start = new Date().getTime(); var frame = document.createEle

我需要提醒使用Chrome浏览的用户,他们需要使用IE打开页面,因为它允许在iframe中打开网络文件夹


但是我不想检测浏览器,有没有办法检测这个功能?

没有,你检测不到这个功能(如果你可以这么说的话,允许网页在一个框架中显示本地文件夹是一个非常糟糕的主意)。同源策略阻止您知道帧中加载了什么,因此无法区分网络文件夹和错误页。您所能做的最好的事情是检查框架加载所需的时间:

var start = new Date().getTime();
var frame = document.createElement("iframe");
frame.addEventListener("load", function()
{
  if (new Date().getTime() - start < 100)
    alert("Looks like the network folder didn't load, try using a less secure browser?");
}, false);
frame.src = "file://mynetworkpath/folder";
document.body.appendChild(frame);

请注意,这两种解决方案都不允许区分“浏览器不允许我访问网络文件夹”和“网络文件夹不可访问,可能没有网络连接。”

你是在说WebDav吗?我不知道什么是WebDav。当使用不支持指向本地驱动器的iframe的浏览器时,我只需要向用户显示一个警报。你可以提供一些代码示例,你想用IE做什么?这只是一个我想通过javascript检测它的浏览器支持它,理论上不会,创建一个指向该网络文件夹的iframe并检测onload(如果该iframe的文档已加载)是否就是答案?但是,使用任何浏览器打开网络共享都应该有效。
var img = new Image();
img.onload = function()
{
  // Can display the frame
};
img.onerror = function()
{
    alert("Try using a less secure browser?");
};
img.src = "file://mynetworkpath/folder/pixel.gif";