爲一個頁面編寫Userscript。它在鉻下工作。 在那個頁面上有相同的元素,在Firefox中有圓角。我想修復它,以便這些元素在Google Chrome瀏覽器中具有圓角邊緣。用於修復css的Userscript
我只想在所有鏈接的CSS樣式表中用chrome語法替換Firefox語法。 做什麼是最好的方法?
我正在使用jquery。
爲一個頁面編寫Userscript。它在鉻下工作。 在那個頁面上有相同的元素,在Firefox中有圓角。我想修復它,以便這些元素在Google Chrome瀏覽器中具有圓角邊緣。用於修復css的Userscript
我只想在所有鏈接的CSS樣式表中用chrome語法替換Firefox語法。 做什麼是最好的方法?
我正在使用jquery。
這對用戶腳本來說不是一件容易的事情。
最聰明的做法是安裝Stylish之類的東西,並用它覆蓋你真正想要的樣式。
,試圖用userscript這樣做的困難是:
不能使用getComputedStyle(),因爲這只是回報分析,適用的款式。您不會在Chrome中看到「-moz」樣式,也不會在Firefox中看到「-webkit」樣式。
同樣,document.styleSheets
也只顯示經過濾除外來瀏覽器特定規則的分析樣式規則。
您將不得不解析原始的CSS源文本。這是每個<style>
的textContent
和通過遵循每個"text/css"
<link>
的href
獲得的AJAX輸入文本。
這可能會變得棘手,甚至不要考慮使用RegEx,如果您希望解決方案強大的話。
跨域限制也將妨礙取回<link>
文本,但可以通過使用GM_xmlhttpRequest()
來減少此限制。
一旦原料CSS解析,那麼只有這樣,你去了解重寫選擇CSS規則,如下所示:
Change Mozilla To CSS3
------------------------------ --------------------------
-moz-border-radius-topright border-top-right-radius
-moz-border-radius-bottomright border-bottom-right-radius
-moz-border-radius-bottomleft border-bottom-left-radius
-moz-border-radius-topleft border-top-left-radius
-moz-border-radius border-radius
哦,神聖的福$%#。它看起來會更容易讓站點管理員讓他知道他需要修復它。 – Hooch 2012-01-04 15:30:53