Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Array.from(document.styleSheets).forEach((ss) => {
- const toDelete = [];
- const toReplace = new Map();
- for (let i = 0; i < ss.rules.length; ++i) {
- const rule = ss.rules[i];
- if (!(rule instanceof CSSMediaRule)) {
- continue;
- }
- if (rule.conditionText.includes('print')) {
- toReplace.set(i, '* {}');
- continue;
- }
- if (rule.conditionText.includes('screen')) {
- let t = rule.cssText;
- const start = t.indexOf('{');
- let prefix = t.substr(0, start);
- prefix = prefix.replace(/(only |)screen/g, '(min-width: 1px)');
- t = prefix + t.substr(start);
- toReplace.set(i, t);
- continue;
- }
- }
- console.info('replacing', toReplace.size, 'rules to remove print-specific styles');
- toReplace.forEach((text, index) => {
- ss.deleteRule(index);
- ss.insertRule(text, index);
- });
- });
Add Comment
Please, Sign In to add comment