// ==UserScript== // @name PPT预览自动切换 // @namespace http://tampermonkey.net/ // @version 0.4 // @description: PPT预览自动切换,触发鼠标点击事件,自动翻页 // @author 黄种鑫 // @match *://*.officeapps.live.com/* // @icon data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw== // @grant none // @description zh-CN PPT预览自动切换,触发鼠标点击事件,自动翻页 // @downloadURL none // ==/UserScript== (function () { 'use strict'; console.log('aaa' + (+new Date())) console.log('location.ancestorOrigins.length', location.ancestorOrigins.length) if (location.ancestorOrigins.length === 1) { console.log('bbb' + (+new Date())) console.log('我是父页面') window.addEventListener('message', (e) => { console.log(e.data) // 母页面处理 if (e.origin.includes('officeapps.live.com')) { // 子页面传过来的消息,转发到外部去 console.log('父页面收到来自子页面的消息') top.postMessage(e.data, '*') } else { // 外部来的消息,转发到子页面去 console.log('父页面收到财涛的消息') document.querySelector('#wacframe').contentWindow.postMessage(e.data, '*') } }) return } console.log('ccc' + (+new Date())) console.log('我是子页面') window.addEventListener('message', (e) => { console.log('ddd' + (+new Date())) console.log(e.data) // 子页面处理 if (e.data === 'init') { // 触发聚焦??? document.querySelector('#SlidePanel').click() var curPage = +(document.querySelector('#SlideLabel-Medium14').innerText.match(/\d+/)[0] || 1) console.log('curPage', curPage) for (var i = 0; i < 100; i++) { document.dispatchEvent(new KeyboardEvent('keydown', { keyCode: 33 })) } top.postMessage({ eventName: 'inited' }, '*') } else if (e.data === 'click') { document.querySelector('#SlidePanel').click() } }) var timer = setInterval(() => { if (document.querySelector('#SlidePanel #scc')) { console.log('ppt 初始化成功') console.log('eee' + (+new Date())) top.postMessage({ eventName: 'loaded' }, '*') clearInterval(timer) } }, 10) })();