破解飞书的复制限制
目前為
// ==UserScript==
// @name 让你的飞书更好用(优化版)
// @namespace https://bytedance.com
// @version 0.3
// @description 破解飞书的复制限制
// @author alwaysday1
// @match *://*.feishu.cn/*
// @icon https://www.google.com/s2/favicons?sz=64&domain=feishu.cn
// @grant none
// @license MIT
// ==/UserScript==
(function () {
XMLHttpRequest.prototype._open = XMLHttpRequest.prototype.open;
XMLHttpRequest.prototype.open = function (...args) {
const [ method, url ] = args;
if (method !== 'POST' || !url.includes('space/api/suite/permission/document/actions/state/')) {
return this._open(...args);
}
this.addEventListener("readystatechange", function() {
if (this.readyState !== 4) return;
let response = this.response;
try {
response = JSON.parse(response);
} catch(e) {};
console.log('debug:', response);
response.data.actions.copy = 1;
Object.defineProperty(this, 'response', {
get() {
return response;
}
});
Object.defineProperty(this, 'responseText', {
get() {
return JSON.stringify(response);
}
});
}, false);
return this._open(...args);
};
})();
javascript:!function(){
function t(e){
e.stopPropagation(),e.stopImmediatePropagation&&e.stopImmediatePropagation()
}
document.querySelectorAll("*").forEach(e=>{"none"===window.getComputedStyle(e,null).getPropertyValue("user-select")&&e.style.setProperty("user-select","text","important")}),
["copy","cut","contextmenu","selectstart","mousedown","mouseup","mousemove","keydown","keypress","keyup"].forEach(function(e){
document.documentElement.addEventListener(e,t,{capture:!0})
})
}();