Скрипт GreaseMonkey для замены CSS
Доброго времени суток господа. Подскажите пожалуйста, как мне при помощи GreaseMonkey запретить загружать стиль с сервера и подключить стили с другого ресурса?
или даже просто запретить, подключить я смогу через stylish |
Не грузить увы не получится. Можно просто удалить старые и подключить новые. Или даже просто подключить новые, что перекрывают старые.
Array.forEach(document.querySelectorAll('style, link[rel="stylesheet"]'), e => e.remove()); document.head.insertAdjacentHTML('beforeend', '<link rel="stylesheet" type="text/css" href="//site.ru/style.css"" />'); |
Спасибо, буду пробовать!
|
Что бы не плодить новую тему, решил спросить тут..
Вставляю свой стиль на сайт для своего блока через GM. Собственно код: var runId = setTimeout(runFN, 1000); function runFN(){ console.log("Запустили скрипт!"); myCSS(); HTML(); } function myCSS(){ console.log("Создали CSS"); var css = ".myClass { width: auto; height: auto; background-color: rgba(184, 178, 169, 0.65); right: 230px; top: 100px; z-index: 3000; position: absolute; border: 1px solid rgba(232, 229, 225, 0.9); margin: 10px; max-width: 400px; padding: 2px;}"; css += ".myClassContent { background-color: rgba(255, 255, 255, 0.85); margin: 10px; border: 1px solid #7b746e; padding: 8px 10px; word-wrap: break-word; }"; var nodeCSS = document.createElement("style"); nodeCSS.type = "text/css"; nodeCSS.innerHTML = css; var heads = document.getElementsByTagName("head"); heads[0].appendChild(nodeCSS); } function HTML(){ console.log("Создали HTML"); var parent = document.getElementsByTagName('BODY')[0]; var myNode = document.createElement('DIV'); myNode.className = 'myClass'; myNode.id = 'myEl'; myNode.innerHTML = '<span class="myClassContent">Тестовый контент</span>'; parent.appendChild(myNode); } По идее нижний слой (див) должен создать "рамку" вокруг слоя с текстом (спан). По факту выходит так https://codepen.io/Andy84/pen/dXRaOd?editors=1111 Не могу понять где не прав. Подскажите пжл. |
Benos,
строка 25 display: inline-block; <!DOCTYPE html> <html> <head> <title>Untitled</title> <meta charset="utf-8"> </head> <body> <script> var runId = setTimeout(runFN, 1000); function runFN(){ console.log("Запустили скрипт!"); myCSS(); HTML(); } function myCSS(){ console.log("Создали CSS"); var css = ".myClass { width: auto; height: auto; background-color: rgba(184, 178, 169, 0.65); right: 230px; top: 100px; z-index: 3000; position: absolute; border: 1px solid rgba(232, 229, 225, 0.9); margin: 10px; max-width: 400px; padding: 2px;}"; css += ".myClassContent {display: inline-block; background-color: rgba(255, 255, 255, 0.85); margin: 10px; border: 1px solid #7b746e; padding: 8px 10px; word-wrap: break-word; }"; var nodeCSS = document.createElement("style"); nodeCSS.type = "text/css"; nodeCSS.innerHTML = css; var heads = document.getElementsByTagName("head"); heads[0].appendChild(nodeCSS); } function HTML(){ console.log("Создали HTML"); var parent = document.getElementsByTagName('BODY')[0]; var myNode = document.createElement('DIV'); myNode.className = 'myClass'; myNode.id = 'myEl'; myNode.innerHTML = '<span class="myClassContent">Тестовый контент</span>'; parent.appendChild(myNode); } </script> </body> </html> |
Benos,
или <p> строка 39 <!DOCTYPE html> <html> <head> <title>Untitled</title> <meta charset="utf-8"> </head> <body> <script> var runId = setTimeout(runFN, 1000); function runFN(){ console.log("Запустили скрипт!"); myCSS(); HTML(); } function myCSS(){ console.log("Создали CSS"); var css = ".myClass { width: auto; height: auto; background-color: rgba(184, 178, 169, 0.65); right: 230px; top: 100px; z-index: 3000; position: absolute; border: 1px solid rgba(232, 229, 225, 0.9); margin: 10px; max-width: 400px; padding: 2px;}"; css += ".myClassContent {background-color: rgba(255, 255, 255, 0.85); margin: 10px; border: 1px solid #7b746e; padding: 8px 10px; word-wrap: break-word; }"; var nodeCSS = document.createElement("style"); nodeCSS.type = "text/css"; nodeCSS.innerHTML = css; var heads = document.getElementsByTagName("head"); heads[0].appendChild(nodeCSS); } function HTML(){ console.log("Создали HTML"); var parent = document.getElementsByTagName('BODY')[0]; var myNode = document.createElement('DIV'); myNode.className = 'myClass'; myNode.id = 'myEl'; myNode.innerHTML = '<p class="myClassContent">Тестовый контент</p>'; parent.appendChild(myNode); } </script> </body> </html> |
рони,
Спасибо! |
Часовой пояс GMT +3, время: 13:58. |