Firebreath 获取浏览器窗口内可见区域的大小

Firebreath 获取浏览器窗口内可见区域的大小,firebreath,Firebreath,这是问题的继续(http://goo.gl/a61CG) 我试图检索包含插件的DOM窗口或文档的可见大小(不确定哪个术语是正确的)。我一直在研究FireSpreat的参考文献,但我没有找到答案 例如,在onWindowAttached中,我执行以下操作: m_host->htmlLog("Attaching window."); FB::DOM::ElementPtr element_ptr(m_host->getDOMElement()); if( element_ptr ) {

这是问题的继续(http://goo.gl/a61CG)

我试图检索包含插件的DOM窗口或文档的可见大小(不确定哪个术语是正确的)。我一直在研究FireSpreat的参考文献,但我没有找到答案

例如,在onWindowAttached中,我执行以下操作:

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.");
300x300像素指的是hmtl对象的大小,它命令浏览器加载插件

那么,检索浏览器窗口中包含插件的可见区域的方法是什么

我正在Windows7和VisualStudio2010上使用最新的firebreath trunk版本

谢谢,
Christian

基本上,你应该寻找的不是如何具体使用firebreath实现这一点,而是如何使用javascript实现这一点。然后,您只需使用DOM元素/窗口/文档抽象来做同样的事情

许多人没有意识到,最好的浏览器插件开发人员也是那些真正理解javascript的人


现在,您需要确保在所有浏览器上都进行了测试;IE没有通过IDispatch公开的一些属性(FireBreath默认使用IDispatch),在这种情况下,可能需要将自定义处理程序添加到DOM抽象中;如果是这样的话,请在IRC上与我联系(),我会帮助你。

基本上,你应该寻找的不是如何具体使用firebreath实现这一点,而是如何使用javascript实现这一点。然后,您只需使用DOM元素/窗口/文档抽象来做同样的事情

许多人没有意识到,最好的浏览器插件开发人员也是那些真正理解javascript的人


现在,您需要确保在所有浏览器上都进行了测试;IE没有通过IDispatch公开的一些属性(FireBreath默认使用IDispatch),在这种情况下,可能需要将自定义处理程序添加到DOM抽象中;如果是这样,请在IRC上与我联系(),我会帮助你。

这非常有帮助!我将查看如何从插件调用Javascript。酷!这很有帮助!我将查看如何从插件调用Javascript。酷!
Attaching window.
width: 300; height: 300

Finished attaching window.