我现在是使用extjs做前台,页面中嵌套了用dsoframer这个控件加载的word,代码如下: <%@ page language="java" pageEncoding="UTF-8"%>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html> <head>
<title>showArchs.jsp-拟稿页面</title>
<link rel="stylesheet" href="ext/resources/css/ext-all.css" type="text/css" media="screen" charset="utf-8" />
<link rel="stylesheet" href="styles/html.css" type="text/css" media="screen" charset="utf-8" />
<link rel="stylesheet" href="styles/index.css" />
<link rel="stylesheet" type="text/css" href="main/resources/main.css"></link>
<link rel="stylesheet" type="text/css" href="main/resources/style.css"></link>
<script type="text/javascript" src="ext/adapter/ext/ext-base.js"></script>
<link rel="stylesheet" type="text/css" href="styles/icocss.css"></link>
<script src="ext/ext-all.js" type="text/javascript" charset="utf-8"></script>
<script src="js/DateFormat.js" charset="utf-8"></script>
<script type="text/javascript" src="ext/examples.js"></script>
<script type="text/javascript" src="js/theme.js"></script>
</head>
<body>
<script type="text/javascript">
My ={};
//js获得url参数方法
function GetRequest() { var url = location.search; //获取url中"?"符后的字串
var theRequest = new Object();
if (url.indexOf("?") != -1) {
var str = url.substr(1);
strs = str.split("&");
for(var i = 0; i < strs.length; i ++) {
theRequest[strs[i].split("=")[0]]=unescape(strs[i].split("=")[1]);
}
}
return theRequest;
} var Request = new Object();
Request = GetRequest();
//定义2个参数获得url参数值
var snType,id,snYear,snNo,name,amount;
snType = Request['snType'];
id = Request['id'];
snYear = Request['snYear'];
snNo = Request['snNo'];
name = Request['name'];
amount = Request['amount'];
tiId = Request['tiId'];
//上传文件名
var wordName = snType;
//上传文件完整名
var wordAllName = wordName + ".doc";
//上传文件保存本地位置
var wordUri = "C:\\templateOfOA\\" + wordName + ".doc";
//上传文件上传ftp地址
var ftpWord = "ftp:\/\/192.168.10.222\/oaupload\/template\/" + wordName + ".doc";
//发文日期
var Date = new Date();
//获得用户登录名
var user = '${user}';
//当前年份
var year = Date.getYear();
//当前月份
var month = Date.getMonth()+1;
//当前日期
var day = Date.getDate();
function doAjax(_incept){ var a = encodeURI(wordAllName);
//初始化Http引擎
document.all.FramerControl1.HttpInit();
document.all.FramerControl1.SetTrackRevisions(1);
//增加Post变量
document.all.FramerControl1.HttpAddPostString("sendId",id);
//增加Post变量
document.all.FramerControl1.HttpAddPostString("tiId",tiId);
//上传打开的文件
document.all.FramerControl1.HttpAddPostCurrFile("fileData", a);
//执行上传动作
var flag = document.all.FramerControl1.HttpPost("./archManage!doFlow.action"); getAddToArch(_incept);
}
//声明一个打开word文档的函数
My.getWord = function(){
//下载word模板到本地
//document.all.FramerControl1.DownloadFile(ftpWord, wordUri);
//打开下载的本地模板
document.all.FramerControl1.Open(ftpWord);
//显示修订留痕
document.all.FramerControl1.ShowRevisions(1);
//进入修改留痕状态
document.all.FramerControl1.SetTrackRevisions(1);
//插入发文名称
document.all.FramerControl1.SetFieldValue("name",name,"");
//插入发文年号
document.all.FramerControl1.SetFieldValue("snYear",snYear,"");
//插入发文编号
document.all.FramerControl1.SetFieldValue("snNo",snNo,"");
//插入份数
document.all.FramerControl1.SetFieldValue("amount",amount,"");
//插入发文日期
//document.all.FramerControl1.SetFieldValue("date",Date.format('yyyy-MM-dd'),"");
//插入用户登录名
document.all.FramerControl1.SetFieldValue("user",user,"");
//插入年份
document.all.FramerControl1.SetFieldValue("year",year,"");
//插入月份
document.all.FramerControl1.SetFieldValue("month",month,"");
//插入日期
document.all.FramerControl1.SetFieldValue("day",day,"");
//document.all.FramerControl1.ProtectDoc(1,2,"123");
//进入修改留痕状态
document.all.FramerControl1.SetTrackRevisions(4);
}
function getName()
{
var uri = fp.form.findField("uri").getValue();
var name = uri.split("/");
var ftpWord = "ftp:\/\/192.168.10.222\/oaupload\/" + name[1] + "\/" + name[2];
return ftpWord;
}
//声明一个打开word文档的函数
var showWord = function(ftpWord){
//打开下载的本地模板
document.all.FramerControl1.Open(ftpWord);
//显示修订留痕
document.all.FramerControl1.ShowRevisions(1);
//进入修改留痕状态
document.all.FramerControl1.SetTrackRevisions(1);
}
Ext.onReady(function(){
Ext.Ajax.request({
method:'POST',
url: 'archManage!getSendMsgById.action',
params:{archId:id},
success: function(response,form){
if(response.responseText == '*')
{
setTimeout('My.getWord()',300);
}else{
var name = response.responseText.split("/");
var ftpWord = "ftp:\/\/192.168.10.222\/oaupload\/" + name[1] + "\/" + name[2];
showWord(ftpWord);
}
},
failure: function(response,form){
//getWord();
}
});
document.all.FramerControl1.height = window.screen.availHeight-window.screenTop - Ext.get("formPanel").getComputedHeight();
//setTimeout('My.getWord()',300);
//调用打开模板
//getWord();
});/*Ext.onReady的结束括号*/
</script>
<div id="formPanel"></div>
<div id="selectWin" class="x-hidden"></div>
<table width="100%" >
<tr>
<td>
<OBJECT id="FramerControl1" codeBase="dsoframer.ocx" height="100%" width="100%" 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>
</td>
</tr>
</table>
</body>
</html>我在ie6可以很正常的显示,但在ie7下面,ext的alert就只能显示在dsoframer显示的word那一层下面,也就是extjs的alert被挡住,我试过用iframe这个dsoframer到这个页面,也没用,求高手帮忙看下
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html> <head>
<title>showArchs.jsp-拟稿页面</title>
<link rel="stylesheet" href="ext/resources/css/ext-all.css" type="text/css" media="screen" charset="utf-8" />
<link rel="stylesheet" href="styles/html.css" type="text/css" media="screen" charset="utf-8" />
<link rel="stylesheet" href="styles/index.css" />
<link rel="stylesheet" type="text/css" href="main/resources/main.css"></link>
<link rel="stylesheet" type="text/css" href="main/resources/style.css"></link>
<script type="text/javascript" src="ext/adapter/ext/ext-base.js"></script>
<link rel="stylesheet" type="text/css" href="styles/icocss.css"></link>
<script src="ext/ext-all.js" type="text/javascript" charset="utf-8"></script>
<script src="js/DateFormat.js" charset="utf-8"></script>
<script type="text/javascript" src="ext/examples.js"></script>
<script type="text/javascript" src="js/theme.js"></script>
</head>
<body>
<script type="text/javascript">
My ={};
//js获得url参数方法
function GetRequest() { var url = location.search; //获取url中"?"符后的字串
var theRequest = new Object();
if (url.indexOf("?") != -1) {
var str = url.substr(1);
strs = str.split("&");
for(var i = 0; i < strs.length; i ++) {
theRequest[strs[i].split("=")[0]]=unescape(strs[i].split("=")[1]);
}
}
return theRequest;
} var Request = new Object();
Request = GetRequest();
//定义2个参数获得url参数值
var snType,id,snYear,snNo,name,amount;
snType = Request['snType'];
id = Request['id'];
snYear = Request['snYear'];
snNo = Request['snNo'];
name = Request['name'];
amount = Request['amount'];
tiId = Request['tiId'];
//上传文件名
var wordName = snType;
//上传文件完整名
var wordAllName = wordName + ".doc";
//上传文件保存本地位置
var wordUri = "C:\\templateOfOA\\" + wordName + ".doc";
//上传文件上传ftp地址
var ftpWord = "ftp:\/\/192.168.10.222\/oaupload\/template\/" + wordName + ".doc";
//发文日期
var Date = new Date();
//获得用户登录名
var user = '${user}';
//当前年份
var year = Date.getYear();
//当前月份
var month = Date.getMonth()+1;
//当前日期
var day = Date.getDate();
function doAjax(_incept){ var a = encodeURI(wordAllName);
//初始化Http引擎
document.all.FramerControl1.HttpInit();
document.all.FramerControl1.SetTrackRevisions(1);
//增加Post变量
document.all.FramerControl1.HttpAddPostString("sendId",id);
//增加Post变量
document.all.FramerControl1.HttpAddPostString("tiId",tiId);
//上传打开的文件
document.all.FramerControl1.HttpAddPostCurrFile("fileData", a);
//执行上传动作
var flag = document.all.FramerControl1.HttpPost("./archManage!doFlow.action"); getAddToArch(_incept);
}
//声明一个打开word文档的函数
My.getWord = function(){
//下载word模板到本地
//document.all.FramerControl1.DownloadFile(ftpWord, wordUri);
//打开下载的本地模板
document.all.FramerControl1.Open(ftpWord);
//显示修订留痕
document.all.FramerControl1.ShowRevisions(1);
//进入修改留痕状态
document.all.FramerControl1.SetTrackRevisions(1);
//插入发文名称
document.all.FramerControl1.SetFieldValue("name",name,"");
//插入发文年号
document.all.FramerControl1.SetFieldValue("snYear",snYear,"");
//插入发文编号
document.all.FramerControl1.SetFieldValue("snNo",snNo,"");
//插入份数
document.all.FramerControl1.SetFieldValue("amount",amount,"");
//插入发文日期
//document.all.FramerControl1.SetFieldValue("date",Date.format('yyyy-MM-dd'),"");
//插入用户登录名
document.all.FramerControl1.SetFieldValue("user",user,"");
//插入年份
document.all.FramerControl1.SetFieldValue("year",year,"");
//插入月份
document.all.FramerControl1.SetFieldValue("month",month,"");
//插入日期
document.all.FramerControl1.SetFieldValue("day",day,"");
//document.all.FramerControl1.ProtectDoc(1,2,"123");
//进入修改留痕状态
document.all.FramerControl1.SetTrackRevisions(4);
}
function getName()
{
var uri = fp.form.findField("uri").getValue();
var name = uri.split("/");
var ftpWord = "ftp:\/\/192.168.10.222\/oaupload\/" + name[1] + "\/" + name[2];
return ftpWord;
}
//声明一个打开word文档的函数
var showWord = function(ftpWord){
//打开下载的本地模板
document.all.FramerControl1.Open(ftpWord);
//显示修订留痕
document.all.FramerControl1.ShowRevisions(1);
//进入修改留痕状态
document.all.FramerControl1.SetTrackRevisions(1);
}
Ext.onReady(function(){
Ext.Ajax.request({
method:'POST',
url: 'archManage!getSendMsgById.action',
params:{archId:id},
success: function(response,form){
if(response.responseText == '*')
{
setTimeout('My.getWord()',300);
}else{
var name = response.responseText.split("/");
var ftpWord = "ftp:\/\/192.168.10.222\/oaupload\/" + name[1] + "\/" + name[2];
showWord(ftpWord);
}
},
failure: function(response,form){
//getWord();
}
});
document.all.FramerControl1.height = window.screen.availHeight-window.screenTop - Ext.get("formPanel").getComputedHeight();
//setTimeout('My.getWord()',300);
//调用打开模板
//getWord();
});/*Ext.onReady的结束括号*/
</script>
<div id="formPanel"></div>
<div id="selectWin" class="x-hidden"></div>
<table width="100%" >
<tr>
<td>
<OBJECT id="FramerControl1" codeBase="dsoframer.ocx" height="100%" width="100%" 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>
</td>
</tr>
</table>
</body>
</html>我在ie6可以很正常的显示,但在ie7下面,ext的alert就只能显示在dsoframer显示的word那一层下面,也就是extjs的alert被挡住,我试过用iframe这个dsoframer到这个页面,也没用,求高手帮忙看下
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货