问题表现: 在Chrome 55及以上版本使用文档控件时通过控件对象.FileSave=false 这样的控件对象.属性=值的方式设置属性 不成功
原因与处理方法:
此现象可能与Chrome本身原因引起的,针对此种情况,需要使用新的平台版文档控件版本结合新的跨浏览器插件使用。并在获取控件对象之后的添加如下代码:
如:
function init(){//获取文档控件对象dd
TANGER_OCX_OBJ = document.getElementById("nacl_module");
// 判断chrome的版本是否大于54,若大于54,使用代理解决问题
var brower;
var regStr_Chrome = /chrome\/[\d.]+/gi;
var agent = navigator.userAgent.toLowerCase();
if( agent.indexOf("chrome") > 0 )
{
brower = agent.match( regStr_Chrome );
}
var verinfo = ( brower + "" ).replace(/[^0-9.]/ig,"");
var uVerinfo = parseFloat( verinfo );
if( uVerinfo > 54 )
{
TANGER_OCX_OBJ = new Proxy( TANGER_OCX_OBJ, {
set: function (target, key, value, proxy) {
var func = target["setattribute"];
var args = new Array();
args[0] = key;
args[1] = value;
return ( Reflect.apply(func, target, args) );
},
get: function(target, key, proxy) {
var value = target[key];
if(typeof value == 'function') // 为函数
{
return function(...arguments) {
return Reflect.apply(value, target, arguments);
};
}
else
return( value );
}
});
}
|