JS里的open方法问题,求助(在线等)
document.all.FramerControl1.Open("Http://192.168.3.232/dsoframer/ModelFile/Word.doc", true);
JS里调用了这个方法,但是报 “对象不支持此属性或方法” 的错误。不明白,为什么?
我下面的FramerControl1控件的代码是这样的:
<OBJECT id="FramerControl1" codeBase="dsoframer.ocx#version=2,3,0,0" height="100%" width="99%" classid="clsid:00460182-9E5E-11D5-B7C8-B8269041DD57">
<PARAM NAME="_ExtentX" VALUE="16960">
<PARAM NAME="_ExtentY" VALUE="13600">
<PARAM NAME="BorderColor" VALUE="-2147483632">
<PARAM NAME="BackColor" VALUE="-2147483643">
<PARAM NAME="ForeColor" VALUE="-2147483640">
<PARAM NAME="TitlebarColor" VALUE="-2147483635">
<PARAM NAME="TitlebarTextColor" VALUE="-2147483634">
<PARAM NAME="BorderStyle" VALUE="1">
<PARAM NAME="Titlebar" VALUE="0">
<PARAM NAME="Toolbars" VALUE="1">
<PARAM NAME="Menubar" VALUE="1">
</OBJECT>
[解决办法]
Word.doc
?
你这是文档
能支持打开么?
[解决办法]
1、从微软网站下载DsoFramer_KB311765_x86.exe,解开将得到dsoframer.ocx;
2、把dsoframer.ocx拷贝到系统目录下,并注册,写一个reg.bat来实现:
copy dsoframer.ocx c:\windows\system32\dsoframer.ocx
regsvr32.exe c:\windows\system32\dsoframer.ocx
[解决办法]
你先打开一个客户端本地文件看看报错吗?
[解决办法]
document.all.FramerControl1.Open("c:\\Word.doc", true,"Word.Document");
[解决办法]
用VBScript来调用就是了
[解决办法]
证明你的控件引用错误,根本不是DsoFramer。
试试这个:
<OBJECT id="FramerControl1" codeBase="dsoframer.ocx#version=2,3,0,0'" height="100%" width="99%" classid="clsid:00460182-9E5E-11D5-B7C8-B8269041DD57">
<PARAM NAME="_ExtentX" VALUE="16960">
<PARAM NAME="_ExtentY" VALUE="13600">
<PARAM NAME="BorderColor" VALUE="-2147483632">
<PARAM NAME="BackColor" VALUE="-2147483643">
<PARAM NAME="ForeColor" VALUE="-2147483640">
<PARAM NAME="TitlebarColor" VALUE="-2147483635">
<PARAM NAME="TitlebarTextColor" VALUE="-2147483634">
<PARAM NAME="BorderStyle" VALUE="1">
<PARAM NAME="Titlebar" VALUE="0">
<PARAM NAME="Toolbars" VALUE="1">
<PARAM NAME="Menubar" VALUE="1">
</OBJECT>
全部复制,不要修改
[解决办法]
接口文档
1.新建
*/
//新建Word
document.all.FramerControl1.CreateNew("Word.Document");
//新建Excel
document.all.FramerControl1.CreateNew("Excel.Sheet");
/*
2.打开文件
*/
//打开制定的本地文件
document.all.FramerControl1.Open("C:\\TestBook.xls");
//制定用Word来打开c:\plain.txt文件
document.all.FramerControl1.Open("C:\\Plain.txt",false, "Word.Document");
//打开服务器的文件
document.all.FramerControl1.Open "https://secureserver/test/mytest.asp?id=123",true, "Excel.Sheet", "MyUserAccount", "MyPassword");
//打开服务器的文件
document.all.FramerControl1.Open("http://localhost/1.doc", true);
/*
3.保存文件
*/
//到本地
document.all.FramerControl1.Save("c:\\1.doc",true);
//服务器
/*增加Http协议Post上传接口,可以Post一个动态页面(jsp,asp,php...),由动态页面负责解析数据
bool HttpInit();
bool HttpAddPostString(BSTR strName, BSTR strValue);
bool HttpAddPostCurrFile(BSTR strFileID, BSTR strFileName);
BSTR HttpPost(BSTR bstr);
*/
//初始化Http引擎
document.all.FramerControl1.HttpInit();
//增加Post变量
document.all.FramerControl1.HttpAddPostString("RecordID","20060102200");
document.all.FramerControl1.HttpAddPostString("UserID","李局长");
//上传打开的文件
document.all.FramerControl1.HttpAddPostCurrFile("FileData", "文档名.doc");
//执行上传动作
document.all.FramerControl1.HttpPost("http://xxxx.com/uploadfile.asp");
/*
4.修订留痕
*/
//进入留痕状态
document.all.FramerControl1.SetTrackRevisions(1);
//进入非留痕状态
document.all.FramerControl1.SetTrackRevisions(0);
//接受当前修订
document.all.FramerControl1.SetTrackRevisions(4);
/*
5.设置当前用户
*/
document.all.FramerControl1.SetCurrUserName("张三");
[解决办法]
它那个是VBS的写法,可以不要括号的呀,呵呵。
你翻译成JS就是了。只不过注意本地路径要用双反斜杠:
DsoFramer1.Open("C:\\Plain.txt", , "Word.Document")
[解决办法]
谁的服务器?公司内部的?那是网管没把匿名用户放开,和你没关系。找网管去
[解决办法]
现在我揭开谜底,准备接楼主的分数:codeBase="dsoframer.ocx#version=2,3,0,0'"
你的代码中,2,3,0,0后少了个单引号~~呵呵
[解决办法]
什么GUEST,那是你自己机器操作系统的概念。你需要在IIS里设置一下,不要用windows集成验证方式才允许访问坐落在你机器上的、你的网站。
你访问别人的机器做什么,他机器上装了IIS?否则你不成小偷了?风马牛不相及啊,呵呵。
你右键你的网站,属性,安全验证里设置一下
[解决办法]
兄弟,你乱搞了,呵呵。你装的这个OCX是为了在网站的网页里方便office文件操作的;你必须明白一个前提:网站。换句话说,谁机器内部装了WEB服务器(例如IIS),那谁的机器就是主机服务器--术语叫“SERVER(服务器)”,那一端就是我们常说的“服务端”。而凡是用自己的计算机,通过在自己机器上安装的浏览器地址栏上输入服务器地址和网站文件地址去浏览信息的一端就是我们常说的客户端。你明白了吗?
你那个控件可以在网页打开的前提是:
1、客户端读自己机器上的OFFICE文件;
2、客户端访问服务器网站上的OFFICE文件。
现在你知道为什么访问别人电脑想打开他的文件不可以的原因了吧?