2012-01-03 9 views
0

1ページ分のユーザースクリプトを書く。それはクロムの下で働いています。 そのページには、firefoxの角が丸い同じ要素があります。私はそれらの要素がGoogle Chromeで丸みのあるエッジを持つように修正したいと思います。CSSを修正するためのユーザースクリプト

すべてのリンクされたCSSスタイルシートで、Firefox構文をchrome構文に置き換えるだけです。 これを行うにはどうすればよいですか?

私はjqueryを使用しています。

答えて

1

これは、userscriptで行うのは簡単なことではありません。

最もスマートなことは、Stylishのようなものをインストールして、本当に必要なスタイルを上書きすることです。 userscriptでこれをやろうと


困難がある:

  1. これだけリターンが解析されたので、あなたは、該当するスタイルをgetComputedStyle()を使用することはできません。 Chromeでは "-moz"スタイルも、Firefoxでは "-webkit"スタイルも表示されません。

  2. 同様に、document.styleSheetsには、エイリアンブラウザ固有のルールを除外した解析済みスタイルルールのみが表示されます。

  3. 生のCSSソーステキストを解析する必要があります。つまり、<style>textContentと、 <link>hrefに続くAJAXed-inのテキストです。

    これは厄介なことがあり、ソリューションが堅牢であるようにするためにRegExを使用することについても考えません。

  4. また、ドメイン間の制限によって<link>のテキストの取得が妨げられますが、GM_xmlhttpRequest()を使用するとこれを減らすことができます。生のCSSが解析されたら

  5. 、その後だけにして、あなたはそうのような選択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    
    
+0

ああ聖なるfuの$%の番号を。それは彼がそれを修正する必要があることを彼に知らせるためにサイト管理者をcantactする方が簡単になるように思えます。 – Hooch

関連する問題