activex控件被阻止怎么办_javascript console

activex控件被阻止怎么办_javascript consoleActiveXObject对象启用和返回对自动化对象的引用。此对象仅用于实例化自动化对象,且此对象没有成员。警告:此对象为Microsoft扩展,仅在InternetExplorer中受支持,在Windows8.x应用商店应用中不受支持。语法:newObj=newActiveXObject(servername.typename[,location])参数:newObj:…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

ActiveXObject 对象

启用和返回对自动化对象的引用。

此对象仅用于实例化自动化对象,且此对象没有成员。

警告:此对象为 Microsoft 扩展,仅在 Internet Explorer 中受支持,在 Windows 8.x 应用商店应用中不受支持。

语法:

newObj = new ActiveXObject(servername.typename[, location])

参数:

newObj:必选。ActiveXObject 分配到的变量名称。

servername:必选。提供对象的应用程序的名称。

typename:必选。要创建的对象的类型或类。

location:可选。要在其中创建对象的网络服务器的名称。

备注

自动化服务器至少提供一种对象。 例如,字处理应用程序可能会提供应用程序对象、文档对象和工具栏对象。

你可以在 HKEY_CLASSES_ROOT 注册表项中标识宿主 PC 上的servername.typename值。 例如,下面是可在此处找到的几个值示例,具体取决于安装的程序:

Excel.Application

Excel.Chart

Scripting.FileSystemObject

WScript.Shell

Word.Document

注意:ActiveX 对象可能存在安全问题。 若要使用 ActiveXObject,你可能需要在相关安全区域的 Internet Explorer 中调整安全设置。 例如,对于本地 Intranet 区域,通常需要将自定义设置更改为“对没有标记为安全的 ActiveX 控件进行初始化和脚本运行”。

若要创建自动化对象,请将新的 ActiveXObject 分配给对象变量:

var ExcelApp = new ActiveXObject(“Excel.Application”);

var ExcelSheet = new ActiveXObject(“Excel.Sheet”);

此代码启动创建对象的应用程序(在此示例中,为 Microsoft Excel 工作表)。 在创建某个对象后,可在代码中使用已定义的对象变量引用该对象。 在下面的示例中,使用对象变量 ExcelSheet 和其他 Excel 对象(包括应用程序对象和 ActiveSheet.Cells 集合)来访问新对象的属性和方法。

// Make Excel visible through the Application object.

ExcelSheet.Application.Visible = true;

// Place some text in the first cell of the sheet.

ExcelSheet.ActiveSheet.Cells(1,1).Value = “This is column A, row 1”;

// Save the sheet.

ExcelSheet.SaveAs(“C:\\TEST.XLS”);

// Close Excel with the Quit method on the Application object.

ExcelSheet.Application.Quit();

要求

在以下文档模式中受支持:Quirks、Internet Explorer 6 标准、Internet Explorer 7 标准、Internet Explorer 8 标准、Internet Explorer 9 标准、Internet Explorer 10 标准和 Internet Explorer 11 标准。 在 Windows 8.x 应用商店应用中不受支持。

FileSystemObject 对象

在IE浏览器中实现文件的操作功能,还得需要FileSystemobject对象。

使用FileSystemObject 对象进行编程很简单,一般要经过如下的步骤: 创建FileSystemObject对象、应用相关方法、访问对象相关属性 。

创建FileSystemObject对象

var fso = new ActiveXObject(“Scripting.FileSystemObject”);

上述代码执行后,fso就成为一个FileSystemObject对象实例。

应用相关方法

创建对象实例后,就可以使用对象的相关方法了。比如,使用CreateTextFile方法创建一个文本文件:

var fso = new ActiveXObject(“Scripting.FileSystemObject”);

var f1 = fso.createtextfile(“c:\myjstest.txt”,true”);

访问对象相关属性

要访问对象的相关属性,首先要建立指向对象的句柄,这就要通过get系列方法实现:GetDrive负责获取驱动器信息,GetFolder负责获取文件夹信息,GetFile负责获取文件信息。比如,指向下面的代码后,f1就成为指向文件c: est.txt的句柄:

var fso = new ActiveXObject(“Scripting.FileSystemObject”);

var f1 = fso.GetFile(“c:\myjstest.txt”);

然后,使用f1访问对象的相关属性。比如:

var fso = new ActiveXObject(“Scripting.FileSystemObject”);

var f1 = fso.GetFile(“c:\myjstest.txt”);

alert(“File last modified: ” + f1.DateLastModified);

但有一点请注意:对于使用create方法建立的对象,就不必再使用get方法获取对象句柄了,这时直接使用create方法建立的句柄名称就可以:

var fso = new ActiveXObject(“Scripting.FileSystemObject”);

var f1 = fso.createtextfile(“c:\myjstest.txt”,true”);

alert(“File last modified: ” + f1.DateLastModified);

实例

1.获取上传文件的大小

html代码:

js代码:

//兼容IE9低版本获取文件的大小

function getFileSize(obj){

var filesize;

if(obj.files){

filesize = obj.files[0].size;

}else{

try{

var path,fso;

path = document.getElementById(‘filePath’).value;

fso = new ActiveXObject(“Scripting.FileSystemObject”);

filesize = fso.GetFile(path).size;

}

catch(e){

//在IE9及低版本浏览器,如果不容许ActiveX控件与页面交互,点击了否,就无法获取size

console.log(e.message); //Automation 服务器不能创建对象

filesize = ‘error’; //无法获取

}

}

return filesize;

}

2.限制上传文件的类型

如果是高版本浏览器,一般在HTML代码中写就能实现,如:

如果限制上传文件为图片类型,如下:

但是在其它低版本浏览器就不管用了,需要js来判断。

html代码:

js代码:

/* 通过扩展名,检验文件格式。

*@parma filePath{string} 文件路径

*@parma acceptFormat{Array} 允许的文件类型

*@result 返回值{Boolen}:true or false

*/

function checkFormat(filePath,acceptFormat){

var resultBool= false,

ex = filePath.substring(filePath.lastIndexOf(‘.’) + 1);

ex = ex.toLowerCase();

for(var i = 0; i < acceptFormat.length; i++){

if(acceptFormat[i] == ex){

resultBool = true;

break;

}

}

return resultBool;

};

function limitTypes(){

var obj = document.getElementById(‘filePath’);

var path = obj.value;

var result = checkFormat(path,[‘bmp’,’jpg’,’jpeg’,’png’]);

if(!result){

alert(‘上传类型错误,请重新上传’);

obj.value = ”;

}

}

注:当然这个实例2在这儿没有用到上面的知识,只是根据实例1联想到了。

参考

JS、ActiveXObject、Scripting.FileSystemObject :http://www.cnblogs.com/dingji…

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/182129.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 用友java开发待遇_【北京用友软件工资】java开发工程师待遇-看准网[通俗易懂]

    用友java开发待遇_【北京用友软件工资】java开发工程师待遇-看准网[通俗易懂]电话面试30分钟,主要刚开始问java的一些基础知识,然后开始问数据库,最后问框架。主要具体题目如下:用友技术面试题1.你能说下你使用的java集合有哪些吗?2.你能说下你在做项目中出现了哪些运行时期异常吗?3.ArrayList集合中怎样去除重复元素?4.要比较ArrayList集合中元素的大小,怎样比较?5.==和equals的区别?定义了student类,有age属性,然后a=ne…

  • Tomcat环境配置[通俗易懂]

    Tomcat环境配置[通俗易懂]环境配置环境配置环境配置一、Tomcat环境配置1、配置CATALINA_HOME2、配置CATALINA_BASE3、配置Path4、检查配置一、Tomcat环境配置tomcat官网:https://tomcat.apache.org/download-90.cgi1、配置CATALINA_HOMED:\environment\tomcat\apache-tomcat-9.0.442、配置CATALINA_BASED:environment\tomcat\apache-tomcat-9

  • 计算机病毒模块测试题,计算机病毒分类测试题集

    计算机病毒模块测试题,计算机病毒分类测试题集以下有关计算机病毒分类的陈述______是正确的.A)病毒分为十二类B)病毒分为操作系统类型和文件类型C)没有分类D)病毒分为外壳型和侵入型根据计算机病毒的破坏能力,计算机病毒可分为A.良性病毒B.恶性病毒C.网络病毒D.引导病毒根据计算机病毒的存在方式进行分类,通常可以分为().A.复杂病毒B.引导病毒C.文件病毒D.网络病毒这个问题是一个选择题.请帮助给出正确的答案和分析,谢…

  • pycharm2019.3.3激活成功教程_pycharm字体推荐

    pycharm2019.3.3激活成功教程_pycharm字体推荐PyCharm是由著名的JetBrains公司所打造的一款功能强大的PythonIDE,它具有一般IDE都具备的功能,并且使用起来非常方便好用。最近需求PyCharm激活码的网友非常多,小编就在这里给大家分享一下PyCharm2019最新可用的激活注册码。激活Pycharm专业版的方法有很多,小编在这里主要给大家分享最有效的两种,一种是使用最新可用的注册激活码,一种是使用激活成功教程补丁的方法,这种方法…

  • Java安全之 ClassLoader类加载器

    Java安全之ClassLoader类加载器0x00前言前面这里抛出一个问题,Java到底是什么类型的编程语言?是编译型?还是解释型?在这个问题是其实一直都都有疑惑,如果说是解释型语言的话,那

    2021年12月12日
  • 解决QTreeView不能设置列宽的问题「建议收藏」

    解决QTreeView不能设置列宽的问题「建议收藏」转载请注明出处:http://www.cnblogs.com/dachen408/p/7206738.html 设置model之前:ui.treeView->setColumnWidth(0,300);ui.treeView->setColumnWidth(1,150);ui.treeView->setColumnWidth(2,150);ui.treeV

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号