澳门新葡萄京娱乐场如何利用 object标签创建服务器组件

创造服务器组件,除了采用 server.CreateObject 外,还可应用
object,代码如下:

显然,FileSystemObject组件的不战而屈人之兵效能及破坏性是它往往被免费主页 
提供商(那么些扶植ASP卡塔尔(قطر‎的剥夺的来头,笔者收拾了须臾间,本来只找到二种情势,后来 
被有些人黄金年代激情,硬是想到第三种不为人所知的主意,呵呵,也不知底是还是不是这么的。 

表达:IE窗口中承载了叁个ActiveX插件,试图使该插件充填窗口(自适应窗口的万丈、宽度),且不出滚动条。

<object runat=”server” classid=”clsid:组件的 ClassID”
id=”IDName”></object>

第一种:用RegSrv32 /u C:WINDOWSSYSTEMscrrun.dll(win98门路卡塔尔来注销该组 
件。此办法过于严酷,归属势如水火的措施,大家都没得用,是下招 

承先启后插件的代码如下:

第三种:改进Progid的值,在ASP里调用组件的主意日常是 Set 对象名=Server. 
CreateObject(“Progid”State of Qatar,那个时候大家就可以透过改换注册表中的Progid值从达 
到禁止使用该器件的法子。在 伊始-运维中敲入regedit,然后找到HKEY_CLASSES_ROO 
TScripting.FileSystemObject,那时我们就足以变动该Progid的值了,如改 
成Scripting.FileSystemObject8。那样在ASP页里就这么调用了: 
<%@ Language=Vbscript%> 
<% 
Set Fs=Server.CreateObject(“Scripting.FileSystemObject8”) 
%> 
澳门新葡萄京娱乐场,(若是你眼下没有调用过该零器件的话,则毫不重启,就能够见到成效了,不然请重 
启后看作用。卡塔尔 
那时候我们看看依旧用原本的调用方法的结果: 
<%@ Language=Vbscript%> 
<% 
Set Fs=Server.CreateObject(“Scripting.FileSystemObject”) 
%> 
那儿的运作结果为: 
服务器对象 错误 `ASP 0177 : 800401f3` 

<body>
    <form id=”form1″ runat=”server”>
    <object id=”xxx” classid=”clsid:xxxx” width=”100%”>

<object runat=”server” progid=”progid” id=”IDName”></object>

Server.CreateObject 失败 

  ……

此刻我们就足以在 ASP 代码中央直属机关接行使 IDName 作为指标变量。

/aspimage/testfile2.asp, 行3 

</object>
    </form>

<%option explicit%>
<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN”
“;
<html xmlns=”” >
<head>
<title>object</title>
</head>
<body>
<object runat=”server”
classid=”clsid:0D43FE01-F093-11CF-8940-00A0C9054228″
id=”fso”></object>
<%
dim f
set f = fso.OpenTextFile(server.MapPath(“object.dat”), 1, false)
response.Write(f.ReadAll())
set f = nothing
%>
</body>
</html>

800401f3 
(OK,达到大家的须求卡塔尔 
该格局由于笔者迟了两步,结果就让别人抢着回答了,那样庞大的鼓励了自家,结 
果就时有产生了第二种方法。 

 

如上,大家一直不用 Scripting.FileSystemObject(progidState of Qatar 创造 FSO
对象,而是利用其 classid 来达成的,请小心 classid 属性的写法,並且runat=”server” 不可少。

其三种:精心的能人们会想,既然能通过校订Progid值来禁止使用该构件,那Clsid是 
否也足以来改良呢?(OK,你想得和自己同黄金时代卡塔尔大家驾驭,除了CreateObject方法以 
外,也足以利用相符的<object>标明营造叁个零部件,我们可以在ASP里面使用HTM 
L的<object>标记,以便在网页中出席多少个构件。方法是: 
<object runat=server id=fs1 scope=page progid=”Scripting.FileSystemObj 
ect”></object> 
Runat代表是在服务端实践,Scope表示组件的生命周期,能够采用Session,Appl 
ication或page(表示如今页面,也可缺省卡塔尔 
这种写法对大家没用,还应该有一种写法是: 
<object runat=server id=fs1 scope=page classid=”clsid:clsid的值”></obj 
ect> 
咱俩也足以由此更改该Clsid的值而禁止使用该器件,如将注册表中HKEY_CLASSES_RO 
OTScripting.FileSystemObjectCLSID的值0D43FE01-F093-11CF-8940-00A0C90 
54228改成0D43FE01-F093-11CF-8940-00A0C9054229(改了最终面一人State of Qatar,那时候的 
写法为: 
<object runat=server id=fs1 scope=page classid=”clsid:0D43FE01-F093-11 
CF-8940-00A0C9054229″></object> 
看运维结果,没难点,OK。那时我们再用 
<object runat=server id=fs1 scope=page classid=”clsid:0D43FE01-F093-11 
CF-8940-00A0C9054228″></object> 
那会儿就出错了。 

贯彻插件充填窗口(自适应窗口的可观、宽度),且不出滚动条的代码如下:

是因为 classid 不可改,所以以后的虚构主机提供商已经不再像在此以前雷同纠正progid 了,而是经过 NTFS
权限来约束。请参阅:改进FSO名称是或不是有不可贫乏

<head runat=”server”>
    <title>xxx</title>
    <style type=”text/css”>
    html, body,#form1 {
     height: 100%;
     overflow: hidden;
    }
    body {
     padding: 0;
     margin: 0;
    }
    #ActiveName {
     height: 100%;
     text-align:center;
    }
    </style>
</head>

 

需要注意的是,最棒form1内毫不现身任何因素例如div。

object要完毕高度百分百,其所在分界面成分即form1也供给100%,同样form1所在body也须100%

 

发表评论

电子邮件地址不会被公开。 必填项已用*标注