使用HTML5或者JS方法实现浏览器无插件浏览office文件方法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用HTML5或者JS方法实现浏览器无插件浏览office文件方法相关的知识,希望对你有一定的参考价值。

使用html5或者JS方法实现浏览器无插件浏览office文件(Microsoft Office)方法(需要支持手机端androidios),需要有源码和demo。
补充:
office365已经试过了,不希望有第三方服务端介入转码。可以在自己搭建的服务端转码或者直接浏览office格式。

补充:
i doc view也试过了可以pass了,ViewJS也试过了只能浏览odt文件(open office),可以pass了
pdf.js也试过了,只能浏览pdf无法浏览office,可以pass了

参考技术A 云深文档管理团队解决了这个问题,可以无插件进行office进行预览。
是目前国内最好用的文档管理系统。
参考技术B 好专业路过,可以试试谷歌浏览器的扩展程序追问

谷歌浏览器需要安装插件才可以浏览,但是我希望能够靠代码转码实现,因为手机端无法安装插件。谢谢你的回答!

追答

建议你联系微软的工程师大叔,看看怎么解决。https://msdn.microsoft.com/zh-cn/hh361695?WT.mc_id=SMCfoot_ZHCN_TEXT#four

追问

我会参考的,谢谢你的回答,我再等等其他答案,然后采纳,谢谢!

jquery判断浏览器版本插件,jquery-browser.js

一、jquery判断浏览器版本插件,jquery-browser.js

 

jquery 1.9 之后已经删除判断浏览器版本的方法:

$.browser.msie 

$.browser.version

原因是:

 

注意:通过user agent字符串来检测浏览器不是一个好主意,在1.9中将完全移除该方法,不过你可以使用jQuery Migrate(迁移)插件。或者你可以试试Modernizr

 

但如果想用怎么办呢?

 

二、解决方法:

 

复制下面的代码,保存为jquery-browser.js,在jquery.js下增加jquery-browser.js,就可以使用jquery删除的浏览器版本判断的方法了。

 

附件也有文件,可直接下载。

 

    (function(jQuery) {  
      
        if (jQuery.browser)  
            return;  
      
        jQuery.browser = {};  
        jQuery.browser.mozilla = false;  
        jQuery.browser.webkit = false;  
        jQuery.browser.opera = false;  
        jQuery.browser.msie = false;  
      
        var nAgt = navigator.userAgent;  
        jQuery.browser.name = navigator.appName;  
        jQuery.browser.fullVersion = ‘‘ + parseFloat(navigator.appVersion);  
        jQuery.browser.majorVersion = parseInt(navigator.appVersion, 10);  
        var nameOffset, verOffset, ix;  
      
        // In Opera, the true version is after "Opera" or after "Version"  
        if ((verOffset = nAgt.indexOf("Opera")) != -1) {  
            jQuery.browser.opera = true;  
            jQuery.browser.name = "Opera";  
            jQuery.browser.fullVersion = nAgt.substring(verOffset + 6);  
            if ((verOffset = nAgt.indexOf("Version")) != -1)  
                jQuery.browser.fullVersion = nAgt.substring(verOffset + 8);  
        }  
        // In MSIE, the true version is after "MSIE" in userAgent  
        else if ((verOffset = nAgt.indexOf("MSIE")) != -1) {  
            jQuery.browser.msie = true;  
            jQuery.browser.name = "Microsoft Internet Explorer";  
            jQuery.browser.fullVersion = nAgt.substring(verOffset + 5);  
        }  
        // In Chrome, the true version is after "Chrome"  
        else if ((verOffset = nAgt.indexOf("Chrome")) != -1) {  
            jQuery.browser.webkit = true;  
            jQuery.browser.name = "Chrome";  
            jQuery.browser.fullVersion = nAgt.substring(verOffset + 7);  
        }  
        // In Safari, the true version is after "Safari" or after "Version"  
        else if ((verOffset = nAgt.indexOf("Safari")) != -1) {  
            jQuery.browser.webkit = true;  
            jQuery.browser.name = "Safari";  
            jQuery.browser.fullVersion = nAgt.substring(verOffset + 7);  
            if ((verOffset = nAgt.indexOf("Version")) != -1)  
                jQuery.browser.fullVersion = nAgt.substring(verOffset + 8);  
        }  
        // In Firefox, the true version is after "Firefox"  
        else if ((verOffset = nAgt.indexOf("Firefox")) != -1) {  
            jQuery.browser.mozilla = true;  
            jQuery.browser.name = "Firefox";  
            jQuery.browser.fullVersion = nAgt.substring(verOffset + 8);  
        }  
        // In most other browsers, "name/version" is at the end of userAgent  
        else if ((nameOffset = nAgt.lastIndexOf(‘ ‘) + 1) < (verOffset = nAgt  
                .lastIndexOf(‘/‘))) {  
            jQuery.browser.name = nAgt.substring(nameOffset, verOffset);  
            jQuery.browser.fullVersion = nAgt.substring(verOffset + 1);  
            if (jQuery.browser.name.toLowerCase() == jQuery.browser.name  
                    .toUpperCase()) {  
                jQuery.browser.name = navigator.appName;  
            }  
        }  
        // trim the fullVersion string at semicolon/space if present  
        if ((ix = jQuery.browser.fullVersion.indexOf(";")) != -1)  
            jQuery.browser.fullVersion = jQuery.browser.fullVersion  
                    .substring(0, ix);  
        if ((ix = jQuery.browser.fullVersion.indexOf(" ")) != -1)  
            jQuery.browser.fullVersion = jQuery.browser.fullVersion  
                    .substring(0, ix);  
      
        jQuery.browser.majorVersion = parseInt(‘‘ + jQuery.browser.fullVersion, 10);  
        if (isNaN(jQuery.browser.majorVersion)) {  
            jQuery.browser.fullVersion = ‘‘ + parseFloat(navigator.appVersion);  
            jQuery.browser.majorVersion = parseInt(navigator.appVersion, 10);  
        }  
        jQuery.browser.version = jQuery.browser.majorVersion;  
    })(jQuery);  

另外网上也有另一个插件,原理是一样的。本人没有测试过,先记录在这里吧:

    jQuery.extend({  
        browser: function()   
        {  
            var  
            rwebkit = /(webkit)\/([\w.]+)/,  
            ropera = /(opera)(?:.*version)?[ \/]([\w.]+)/,  
            rmsie = /(msie) ([\w.]+)/,  
            rmozilla = /(mozilla)(?:.*? rv:([\w.]+))?/,      
            browser = {},  
            ua = window.navigator.userAgent,  
            browserMatch = uaMatch(ua);  
      
            if (browserMatch.browser) {  
                browser[browserMatch.browser] = true;  
                browser.version = browserMatch.version;  
            }  
            return { browser: browser };  
        },  
    });  
      
    function uaMatch(ua)   
    {  
            ua = ua.toLowerCase();  
      
            var match = rwebkit.exec(ua)  
                        || ropera.exec(ua)  
                        || rmsie.exec(ua)  
                        || ua.indexOf("compatible") < 0 && rmozilla.exec(ua)  
                        || [];  
      
            return {  
                browser : match[1] || "",  
                version : match[2] || "0"  
            };  
    }  

下载地址:地址1

    文章来自:http://fanshuyao.iteye.com/blog/2312963

以上是关于使用HTML5或者JS方法实现浏览器无插件浏览office文件方法的主要内容,如果未能解决你的问题,请参考以下文章

借助HTML5 details,summary无JS实现各种交互效果

HTML5无插件多媒体Media——音频audio与视频video

HTML5无插件多媒体Media——音频audio与视频video

前端使用pdf.js预览pdf文件

您的浏览器不支持HTML5视频或者没有安装Flash插件! 为啥呢?

cordova和react.js互相有啥异同或者优势