环境:
- 麒麟桌面系统mips64架构(涉密开发版)
- WPS v12.8.2.21176-Release
- 火狐浏览器 52.3.0esr,中文界面
- 奇安信浏览器v1.0.1164.1
OA系统有个打开正文的功能,需要在页面中打开WPS进行编辑(调用本地WPS),奇安信浏览器和火狐浏览器同样支持并已启用NPAPI机制,但唯独就火狐打不开。
尝试在火狐输入about:config
启用dom.ipc.plugins.enabled
,重启火狐,没有效果。
尝试将object标签改为embed标签,也没有效果。
我在windows上安装了麒麟虚拟机(x86_64),装上之后利用麒麟系统自带的火狐浏览器 测试发现却能正常打开,火狐版本同样是52.3.0esr,只是英文界面。
火狐搜索栏输入about:config
没有找到dom.ipc.plugins.enabled
,同时自带的奇安信浏览器和通过软件商店下载的360安全浏览器也能正常在页面中打开wps。
观察CPU占用率发现,正常调用时WPS会瞬间提高CPU占用率,但是麒麟mips64上的火狐打开WPS却没有出现高占用CPU的情况。
代码如下(需自行引入jquery,版本哪个都行),原来用的是object标签,但因为需要Normal.dotm,所以改为了embed标签,经过测试还是不行,mips64上的火狐依然打不开,奇安信可以正常打开,搞不清是什么原因导致的。
调试代码发现执行完app = obj.Application;该行代码之后app对象显示为undefiend
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>浏览器打开WPS</title>
<script src="./jquery/jquery.min.js"></script>
</head>
<body>
<div class="row" id="wps" style="width:100%; height:100%; position:absolute">
<!--<object name='webwps' id='webwps_id' type='application/x-wps' data='./Normal.dotm' width='100%' height='90%'> <param name='Enabled' value='1' /> </object>-->
<embed type="application/x-wps" height="100%" width="100%" name="webwps" id ="webwps_id">
</div>
</body>
<script>
var obj = null;
var app;
var documentTmp;
obj = document.getElementById("webwps_id");
app = obj.Application;
if(app && app.IsLoad()){
app.createDocument("wps");
documentTmp = app.ActiveDocument;
// <%if(!tempFile){ %>
// var openSucess = app.openDocumentRemote('${allCtxPath+"/userfiles"+docFileUrl}', ${readonly});
// <%}%>
//app.enableProtect(true);//设置文档为只读。
app.ActiveDocument.Protect(0,false,"gdbm123*");//设置 修订保护
app.enableRevision(true);//开启修订
// showRevision(2);//显示修订原始状态
// app.setUserName('${@UserUtils.getUser().getUserName()}');//设置用户名
app.enableRevisionAcceptCommand(false);//禁止接受所有修订
//app.CommandBars.FindControl(undefined,1715).Enbled=false;
app.enableRevisionRejectCommand(false);//禁止删除所有修订
//app.CommandBars.FindControl(undefined,1716).Enbled=false;
//CommandBarsHide();//隐藏菜单中的修订按钮
//handwritting_unvisable();//隐藏工具栏中的修订按钮
app.ActiveDocument.Saved=true;//设置文档修改状态
//app.ActiveDocument.Content.InsertAfter("()");//在文档最后加上一段文字
//app.enableCut(false);//禁止剪切(只读时设置)
//app.enableCopy(false);//禁止复制(只读时设置)
//app.setToolbarAllVisible(false);//隐藏工具条
app.showCommandByName("Menu Bar", 1, false);//隐藏文件菜单
}
var initDiv=function(){
$('body').css('height','100%');
$('.main-content').css('height','100%');
$('.box.box-main').css('height','100%');
$('.box-body').css('height','100%');
$('#wps').css('height','100%');
};
initDiv();
$(document).ready(function() {
$(window).resize(function(){
initDiv();
});
});
</script>
</html>
x86上麒麟自带的火狐、奇安信以及通过软件商店下载的360都能正常打开