2012-09-29 2 views
1

이것은 계속됩니다 (http://goo.gl/a61CG).브라우저 창 안의 보이는 영역의 크기를 가져옵니다.

플러그인이 포함 된 DOM 윈도우 또는 문서의 표시 크기 (올바른 용어가 맞는지 확실하지 않음)를 가져 오려고합니다. 나는 Firebreath의 참고 문헌을 연구 해왔다. 그러나 나는 대답이 부족하다.

m_host->htmlLog("Attaching window."); 

FB::DOM::ElementPtr element_ptr(m_host->getDOMElement()); 
if(element_ptr) 
{ 
    int Width = element_ptr->getWidth(); 
    int Height = element_ptr->getHeight(); 

    std::stringstream ss; 
    ss << "width: " << Width << "; height: " << Height << std::endl; 
    m_host->htmlLog(ss.str()); 
} 

FB::DOM::ElementPtr parent_element_ptr = element_ptr->getParentNode(); 
if(parent_element_ptr) 
{ 
    int Width = parent_element_ptr->getWidth(); 
    int Height = parent_element_ptr->getHeight(); 

    std::stringstream ss; 
    ss << "parent props: width: " << Width << "; height: " << Height << std::endl; 
    m_host->htmlLog(ss.str()); 
} 

m_host->htmlLog("Finished attaching window."); 

구글 크롬 (23 절) 지금 날이 제공 : 예를 들어

안에 나는이 할 onWindowAttached

Attaching window. 
width: 300; height: 300 

Finished attaching window. 

최대 300x300 픽셀이 HMTL 객체의 크기를 의미를하는 브라우저가 플러그인을로드하도록 명령합니다.

그래서 플러그인이 포함 된 브라우저 창의 보이는 영역을 가져 오는 방법은 무엇입니까? 나는 윈도우 7에 최근 firebreath 트렁크 버전과 비주얼 스튜디오 2010

감사를 사용하고

, 기독교

답변

1

기본적으로 당신을 위해 무엇을 찾고해야하는 firebreath으로이 작업을 수행하는 방법을 실제로하지 않습니다 구체적으로,하지만 자바 스크립트로 어떻게 할 수 있습니다. 그런 다음 DOM 요소/창/문서 추상화를 사용하여 동일한 작업을 수행합니다.

많은 사람들은 최고의 브라우저 플러그인 개발자가 자바 스크립트를 잘 이해하고 있다는 것을 인식하지 못합니다.

당신이 모든 브라우저에서이 테스트를 확인하는 것이 좋습니다, 이제 screen width vs visible portion

를 참조하십시오; 일부 속성 IE는 IDispatch (Firebreath가 기본적으로 사용하는 IDispatch)를 통해 노출되지 않습니다.이 경우 사용자 지정 처리기를 DOM 추상화에 추가해야 할 수 있습니다. 그럴 경우 IRC에 (http://npapi.com/chat) 나에게 이야기하면 도와 드리겠습니다.

+0

매우 도움이됩니다. 플러그인에서 Javascript를 호출하는 것으로 보입니다. 시원한! – chhenning