by ono4ji » 2011年5月24日(火) 00:59
自己レスです。
そもそもやりたかったのは、browser自体は通常のブラウザとして使い、tabbrowser内のひとつのタブ内でbrowser,canvas,scrollbarの要素を自由に配置することでした。
stackタグがFirefox3.6の時にはうまく動いておらず(確認不足かもしれませんが)、他に自由に配置する方法として、以下のような構成としていました。
1)Firefox-tabbrowserタグ
2)xulファイル
-browserタグ
-canvasタグ
-scrollbarタグ
>現状の実装方針では回避が必要になっているため、contentAreaClickメソッドを実装する方式を取りたいと思います。
と一旦は決めましたが、2)XUL内のbrowserでもともとのbrowserの動作をさせようとすると、1)で実装されている機能を2)のbrowserに全て盛り込まなくてはいけなくなります。(HistoryやBookmarkの管理など、contentAreaClickもそのひとつ。)
物量的に非常に大きくなってしまうので、そもそも実装方針は正しいのかと考え直したところ、解決策が見つかりました。
Firefox4.0でstackを改めて試してみると、うまく動作したため、stack内のbrowserをheight,width,top,leftの位置情報を変更し、stackの子要素としてcanvas,scrollbarを追加して、階層構造を取り除きました。
1)Firefox-tabbrowserタグ
>stack
-browserタグ(既存)
-canvasタグ(追加)
-scrollbarタグ(追加)
結果として、本トピックであげた質問は1)tabbrowserのbrowserを利用することで発生しなくなり、またその他のセッションヒストリなどの問題にもぶつかることはありませんでした。
⇒総論として、アドオンでtabbrowser内のbrowserにXUL(browser含む)を読み込ませるともろもろ大変となる。stackを活用した方が良い。
本トピックでのご回答により、当初よりも少ない労力で目的のアドオンを作ることができました。FixScrollという名称でレビュー申請を出しているところではございますが、皆様のサポートをいただき無事リリースできたことの報告とお礼を申し上げたいと思います。
どうもありがとうございました。
自己レスです。
そもそもやりたかったのは、browser自体は通常のブラウザとして使い、tabbrowser内のひとつのタブ内でbrowser,canvas,scrollbarの要素を自由に配置することでした。
stackタグがFirefox3.6の時にはうまく動いておらず(確認不足かもしれませんが)、他に自由に配置する方法として、以下のような構成としていました。
1)Firefox-tabbrowserタグ
2)xulファイル
-browserタグ
-canvasタグ
-scrollbarタグ
>現状の実装方針では回避が必要になっているため、contentAreaClickメソッドを実装する方式を取りたいと思います。
と一旦は決めましたが、2)XUL内のbrowserでもともとのbrowserの動作をさせようとすると、1)で実装されている機能を2)のbrowserに全て盛り込まなくてはいけなくなります。(HistoryやBookmarkの管理など、contentAreaClickもそのひとつ。)
物量的に非常に大きくなってしまうので、そもそも実装方針は正しいのかと考え直したところ、解決策が見つかりました。
Firefox4.0でstackを改めて試してみると、うまく動作したため、stack内のbrowserをheight,width,top,leftの位置情報を変更し、stackの子要素としてcanvas,scrollbarを追加して、階層構造を取り除きました。
1)Firefox-tabbrowserタグ
>stack
-browserタグ(既存)
-canvasタグ(追加)
-scrollbarタグ(追加)
結果として、本トピックであげた質問は1)tabbrowserのbrowserを利用することで発生しなくなり、またその他のセッションヒストリなどの問題にもぶつかることはありませんでした。
⇒総論として、アドオンでtabbrowser内のbrowserにXUL(browser含む)を読み込ませるともろもろ大変となる。stackを活用した方が良い。
本トピックでのご回答により、当初よりも少ない労力で目的のアドオンを作ることができました。FixScrollという名称でレビュー申請を出しているところではございますが、皆様のサポートをいただき無事リリースできたことの報告とお礼を申し上げたいと思います。
どうもありがとうございました。