1

これは質問の続きです (http://goo.gl/a61CG)。

プラグインを含む DOM ウィンドウまたはドキュメント (どちらの用語が正しいかはわかりません) の表示サイズを取得しようとしています。Firebreath のリファレンスを調べていますが、答えが見つかりません。

たとえば、 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.");

Google Chrome ( v.23 ) 今すぐこれをください:

Attaching window.
width: 300; height: 300

Finished attaching window.

300x300 ピクセルは、ブラウザーにプラグインのロードを命令する hmtl オブジェクトのサイズを指します。

では、プラグインを含むブラウザ ウィンドウの可視領域を取得するにはどうすればよいでしょうか?

Windows 7 と Visual Studio 2010 で最新の firebreath トランク バージョンを使用しています。

ありがとう、クリスチャン

4

1 に答える 1

1

基本的に、あなたが探しているべきことは、具体的にfirebreathでこれを行う方法ではなく、javascriptでそれを行う方法です. 次に、DOM要素/ウィンドウ/ドキュメントの抽象化を使用して同じことを行うだけです.

多くの人は、最高のブラウザ プラグイン開発者が JavaScript もよく理解していることを認識していません。

画面の幅と表示部分を確認する

ここで、すべてのブラウザでこれをテストする必要があります。一部のプロパティは IE が IDispatch (FireBreath がデフォルトで使用するもの) を介して公開しないため、カスタム ハンドラーを DOM 抽象化に追加する必要がある場合があります。その場合は、IRC ( http://npapi.com/chat ) で私に話しかけてください。私がお手伝いします。

于 2012-09-30T06:04:42.870 に答える