2011-04-25 3 views
1

안녕하세요 모두 잘하면이 빠른 것입니다.
나는 다른 것들 사이에, 구글과 페이스 북과 같은 웹 페이지의 CSS 스타일을 변경하는 C# 웹 브라우저에서 일하고 있습니다. 예를 들어, 그것은 흰색 대신 페이스 북과 구글 레드의 배경을 만들 것입니다. 나는 성공을 거두었지만 그다지 일관성이 없었고 나는 그 이유를 모른다.
C#에서 CSS 스타일을 동적으로 변경 (Sharp) Asp없이

HtmlDocument doc = Browser1.Document; 
HtmlElement textElem = doc.CreateElement("DIV"); 
textElem.InnerHtml = "<STYLE>body{background-color:red!important}</STYLE>"; 
doc.Body.AppendChild(textElem); 
코드가 www.google.com에서 작동하지만, 그러나 www.rationality.tk하지

..

HtmlElement head = Browser1.Document.GetElementsByTagName("body")[0]; 
head.SetAttribute("bgcolor", "red"); 

그 코드가 www.rationality.tk에서 작동하지만 www.google.com 두 코드는 www가 작동하지 않습니다 .facebook.com 나는 일할 아무것도 얻을 수 없습니다.

나는 아마 뭔가 잘못하고 있고 C++로 포기한 후에 C++로 옮겨서 더 쉽게 발견했지만 아직도 그걸 알아 듣고있다. 미리 감사드립니다.

편집 : 문제는이 페이스 북에서 작동

HtmlElement head = Browser1.Document.GetElementsByTagName("body")[0]; 
head.Style = "background-color:red";

해결, 구글과 나는 매우 확실하지 않다

+0

Chrome의 동적 스타일 편집도 일관성이 없습니다. –

+0

나는 구글이 시체를 가지고 있다는 것을 이해하지 못한다. 왜 rationality.tk에 대해 set 속성 작업을하지 않는가? 그것은 미리 설정된 CSS 스타일이 없기 때문에 CSS 편집 코드가 작동하지 않을 수있다. 그리고 전 페이스 북으로 완전히 잃어 버렸습니다. 심지어 특정 div를 편집 할 수도 없습니다. –

답변

0

rationality.tk하지만, 위젯 등의 iframes와 아이 구글을 임베디드로 인해 문제가 될 수 있습니다. 내 브라우저 도우미 개체에 대해 COM/ATL에서 유사한 기능을 구현하는 동안 동일한 문제에 직면했습니다. (어느 정도까지) 나를 도왔던 접근 방식은 각각 iframe에 대한 DOCUMENT_COMPLETE 이벤트를 기다린 다음 body을 얻는 것이 었습니다. 다시 나는 당신이 C#에서 동일한 것을 어떻게 얻을 수 있는지 확신하지 못한다. 이것은 당신의 생각을위한 음식 일뿐입니다.

+0

나는 순수한 우연에 의해 문제를 고쳤다 고 발표 한 것을 매우 기쁘게 생각하며 여기에 내 코드가 있으며 내 게시물에 솔루션을 게시했습니다. –

관련 문제