使用javascript引用错误的解决方案是什么?

时间:2013-12-20 20:22:12

标签: javascript internet-explorer firefox

我在HTML中嵌入了一个javascript代码,可以将文件从一个文件夹复制到另一个文件夹。

<script>
     function moveFile(test, production){
     var myObject, f;
     f = new ActiveXObject("Scripting.FileSystemObject");                                          
     f.Copyfile(test,production)
     setTimeout(function(){alert("Production image updated successfully!")},1000);                                                                            
                }
  </script>

当我尝试运行此操作时,在IE10上,我收到错误的权限被拒绝。在chrome和FF上,我收到错误&#34; ReferenceError:ActiveXObject未定义&#34;

如何解决这个问题? 另请告诉我是否有更好的方法来复制兼容所有浏览器的文件。

2 个答案:

答案 0 :(得分:2)

  

如何解决这个问题?

在尝试使用之前检查对象是否存在。也许是这样的:

if (typeof(window.ActiveXObject) != "undefined") {
    // your code
}
  

另请告诉我是否有更好的方法来复制兼容所有浏览器的文件。

没有。您的代码仅适用,因为用户已允许浏览器扩展以允许其工作。没有该扩展名的浏览器或不允许它的用户将无法工作。默认情况下,您无法在浏览器中控制文件系统(出于明显的安全原因)。

答案 1 :(得分:0)

ActiveXobject仅适用于IE

ActiveXObject in Firefox or Chrome (not IE!)

  

ActiveX仅受IE支持 - 其他浏览器使用插件   称为NPAPI的架构。但是,有一个跨浏览器插件   你可能觉得有用的框架名为Firebreath。