您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
View office documents in your browser with Microsoft Office Online
- // ==UserScript==
- // @name office_online_viewer
- // @description View office documents in your browser with Microsoft Office Online
- // @namespace liudonghua123
- // @version 0.0.1
- // @include *
- // @exclude http*://view.officeapps.live.com/*
- // @exclude http*://docs.google.com/*
- // @exclude http*://mail.google.com/*
- // @exclude http*://viewer.zoho.com/*
- // @exclude http*://office.live.com/*
- // ==/UserScript==
- (function process() {
- const pageLinks = [...document.links];
- const officeWordExtension = ["doc", "docx"],
- officeExcelExtension = ["xls", "xlsx"],
- officePowerpointExtension = ["ppt", "pps", "pptx"];
- const officeExtension = [...officeWordExtension, ...officeExcelExtension, ...officePowerpointExtension];
- const viewOfficeUrl = "https://view.officeapps.live.com/op/view.aspx";
- const isOfficeLink = (link) => {
- const { pathname: path, text } = link;
- const pathExtension = path.lastIndexOf('.') > 0 ? path.substr(path.lastIndexOf('.') + 1).toLowerCase() : '';
- const textExtension = text.lastIndexOf('.') > 0 ? text.substr(text.lastIndexOf('.') + 1).toLowerCase() : '';
- return officeExtension.includes(pathExtension) || officeExtension.includes(textExtension);
- };
- const linkIcon = (link) => {
- const { pathname: path, text } = link;
- const pathExtension = path.lastIndexOf('.') > 0 ? path.substr(path.lastIndexOf('.') + 1).toLowerCase() : '';
- const textExtension = text.lastIndexOf('.') > 0 ? text.substr(text.lastIndexOf('.') + 1).toLowerCase() : '';
- if (officeWordExtension.includes(pathExtension) || officeWordExtension.includes(textExtension)) return "https://docs.microsoft.com/zh-cn/javascript/api/overview/images/logo-word.svg";
- else if (officeExcelExtension.includes(pathExtension) || officeExcelExtension.includes(textExtension)) return "https://docs.microsoft.com/zh-cn/javascript/api/overview/images/logo-excel.svg";
- else if (officePowerpointExtension.includes(pathExtension) || officePowerpointExtension.includes(textExtension)) return "https://docs.microsoft.com/zh-cn/javascript/api/overview/images/logo-powerpoint.svg";
- else return '';
- };
- const addOfficeBadge = (link) => {
- const officeLink = document.createElement('a');
- officeLink.href = `${viewOfficeUrl}?src=${encodeURIComponent(link.href)}`;
- officeLink.isParsed = true;
- officeLink.target = "_blank";
- const ico = document.createElement("img");
- ico.src = linkIcon(link);
- ico.style.marginLeft = "5px";
- ico.style.height = "25px";
- officeLink.appendChild(ico);
- link.parentNode.insertBefore(officeLink, link.nextSibling);
- }
- const officeLinks = pageLinks.filter(isOfficeLink);
- for (const link of officeLinks) {
- console.info(`process ${link.href}`);
- addOfficeBadge(link);
- }
- })();