Office 文件在线预览(支持Excel、Word、PowerPoint等格式)【油猴脚本】

这是一个简单易用的,自动将 Office 文件链接转换为 Office Online 预览的小工具,支持Excel、Word、PowerPoint 等格式。

即在网页上点击 .xlsx、.docx 等链接时,自动跳转到微软官方文档预览工具中。

全部代码非常简单,就一个功能。

效果:

点击 .xlsx 文件链接后,自动:

2 个赞

http://jwc.cupl.edu.cn/system/_content/download.jsp?urltype=news.DownloadAttachUrl&owner=1389829661&wbfileid=4810868
遇到这种URL里没有写出文件名的就歇菜了 :crying_cat_face:

有些网站会把excel放在压缩包里,阁下又如何应对。 :rofl:

应该不是这么简单的事情。这个 URL 不仅仅是没有写出文件名,而且是没有指向文件(直接访问这个 URL,不会立即下载文件,而是会弹出要求输入验证码的界面)。

其实有些带文件名的 URL,也不是指向文件的,比如下面这个:

https://moegirl.icu/File:5708183.jpg

看似是一个指向文件的链接,但点进去后,是跳转到一个网页。

其实有一种判断 URL 是否指向文件的方法,是右键点击 URL,在弹出菜单中选择 “链接另存为”。

  • 如果保存得到的是与该 URL 中信息一致的文件,那么这个 URL 就是指向文件的;
  • 如果得到的是一个网页文件,那么这个 URL 就并非直接指向目标文件的。

这谁还管得了…

最新版wps office 安装后, 会自动安装 wps扩展。

也支持直接预览pdf和office文档。

Firefox 没看见wps给安装啊。

https://tool.kdocs.cn/browser_assistant/download

点此安装.

本来就可以直接跳转啊,没必要再装个脚本吧

内网查看office文件,直接报错

内网看文件,直接报错,如下:
An error occurred
We’re sorry, but for some reason we can’t open this for you.

这个脚本的原理应该就是将在线文档的 URL 转发给 Office Online。

我没学过 JS,但通过脚本代码的这一部分可大致做出推断:

            if (fullUrl.match(/\.(xlsx?|docx?|pptx?)$/i)) {
                e.preventDefault();
                // 使用encodeURI而不是encodeURIComponent来保留URL结构
                let previewUrl = 'https://view.officeapps.live.com/op/view.aspx?src=' + encodeURI(fullUrl);
                window.open(previewUrl, '_blank');
            }

https://view.officeapps.live.com/op/view.aspx?src= 只能读取互联网上的内容,而不能直接读取内网的数据。

就好比在论坛里发图片,图片 URL 直接贴本地图片在硬盘上的路径是无效的。因此,这个脚本对内网文件无效。

edge原生支持,本地不需要安装office。
谷歌和Firefox不行。