2012-03-14 2 views
-1

방금 ​​* .google.com에 대한 권한이있는 간단한 확장 프로그램을 작성하고 한 클래스에서 일부 CSS를 변경 했으므로 간단한 것을 간과했다고 생각합니다. 내가 지금처럼 구현되는 +1 버튼을 변경하고 있습니다 : 내있는 style.css에서작은 CSS를 * .google.com으로 변경하기위한 Chrome 확장자

<button ... class="esw eswd BRowJd Jt"> 

를 내가 말할 :

button.eswa { border: 2px solid #000000; } 

변화가 나타나지 않았다. 나는 또한 내 CSS를 무력화하는 경우를 대비하여 클래스를 Jt으로 바꾸려고 시도했다. 클릭 취소 된 +1 버튼을 정의하는 클래스는 "eswa"입니다. "G + Rebrander" "버전": 나는 또한 내 manifest.json을

{ "이름"에서 변경하고자하는 사이트에 대한 사용 권한을 설정 한 문서 당으로

"0.92", " 설명 ":"같은 +1 버튼으로 G + (2,012 사전 월)의 원래 브랜드를 돌려 " '브라우저.": { "default_icon을": "g-plus.png" 을},

"icons":{ 
    "128":"g-plus128.png" 
}, 

"permissions": [ 
    "http://plus.google.com/", 
    "https://plus.google.com/", 
    "http://*.google.com/", 
    "https://*.google.com/", 
    "tabs" 
] 

}

+0

에 관심이있을 수 있습니다 [크롬 세련된] (https://chrome.google.com/webstore/detail/fjnbnpbmkenffdnngjfgmeleoegfcffe). 이미 정의 된 페이지 스타일을 오버라이드하려면'! important '를 사용하십시오 : 예 :'button.esaw {border : 2px solod # 000! important;}'. –

답변

4

나중에 manifest.json 파일 전체가 매우 도움이 될 것입니다. 내게 정확히 무엇을하고 있는지, 그래서 당신의 실수가 무엇인지 알기가 어렵 기 때문에 .... 몇 가지 가능성을 열거합니다. .

CSS 규칙에서! important를 사용하면 CSS를 재정의 할 때 항상 좋은 생각입니다.

권한은 삽입 페이지가 배경 페이지라고 말하면 자동으로 추가되는 콘텐츠 스크립트가 아닙니다. 문서는 약간 모호합니다.

자동으로 추가되는 콘텐츠 스크립트의 경우 콘텐츠 스크립트의 일치 필드 만 설정하면됩니다.

일치하는 항목의 끝에 *가 없으므로 검색 결과가 아닌 첫 페이지에만 일치합니다. 이는 내가 타겟팅 한 것으로 간주됩니다.

Google은 일반적으로 해당 국가의 서버로 리디렉션되므로 www.google.com으로 이동하면 www.google.com.au로 리디렉션됩니다.

나를 위해 +1을 무시한 것은 ewsd가 아닌 ewsd입니다.

오직 css를 삽입하고 스크립트가 아닌 경우 run_at 필드에 document_start 값을 사용하는 것이 좋습니다. 이렇게하면 페이지가 표시되기 전에 CSS가 적용되므로 나중에 페이지가 적용되는 것을 피할 수 있습니다. 이것을 사용한다면! important를 사용해야합니다. 그렇지 않으면 나중에 페이지에 의해 추가 된 CSS가 귀하의 CSS 규칙보다 우선합니다. 작업 매니페스트와 CSS 파일은 다음과 같은 모든과

그래서 .....
manifest.json을

{ 
    "name": "css rules", 
    "content_scripts": [ 
     { 
     "matches": [ 
      "*://*.google.com/*", 
      "*://*.google.com.au/*" 
     ], 
     "css": ["new.css"], 
     "run_at" : "document_start" 
     } 
    ], 
    "version":"1.0" 
} 

새.CSS

button.eswd { border: 2px solid #000000 !important;} 
+0

개인적으로는'* : // *. google.com.au/*'이면 충분합니다. 가능한 한 많은 Google TLD를 지원하려는 경우이 스크립트의 '@ 일치'규칙을 사용할 수 있습니다. http://userscripts.org/scripts/review/121923 (http://www.google.com 기반/supported_domains) –

+1

@Rob W 링크에 감사드립니다. 편집 해 주셔서 감사 드리며 모든 멋진 작업에 감사드립니다. – PAEz

+0

나는 내 질문에 모든 것을 붙여 넣었다. 내 실수는 내 매니페스트에서 내 .CSS 파일을 명시 적으로 가리 키지 않았기 때문에 "style.css"가 기본값이라고 가정했습니다. – TravisO

1

Google의 스타일을 덮어 쓰려면 요소에 중요한 요소를 설정하십시오.

+0

작동하지 않습니다 ... – TravisO

관련 문제