私はこれに1日以上苦労しており、そのほとんどはSOとGoogleが解決策を探してさまざまなことを試すことに費やしました.
SDK 1.14 を使用し、Firefox 23 でテストしています。パネルを持つウィジェットがあります。パネルの contentURL は、データ ディレクトリ内のローカル HTML ファイルです。select 要素が HTML に配置され、その要素がユーザーによってクリックされると、パネル全体 (または少なくともそのコンテンツ) がブラウザウィンドウの左上に移動し、左下にあるパネルから見えなくなります。画面の。オプションがそこに表示されているため、パネル (または少なくともそのコンテンツ) がブラウザーウィンドウの左上に移動することがわかります。select要素がクリックされたときに、ブラウザウィンドウの原点にバインドされていると思います。
テストとして、選択要素を持つウィジェットとパネルの最小値まで減らしました。main.js コードは次のとおりです。
exports.main = function () {
var self = require('self'),
testPanel = require('panel').Panel({
contentURL: self.data.url('test.html')
});
require('widget').Widget({
label: 'Test Panel',
id: 'TestPanel',
panel: testPanel,
contentURL: self.data.url('images/icon_16.png')
});
};
HTML は次のとおりです。
<!DOCTYPE html>
<html>
<body>
<select>
<option value='1'>1</option>
</select>
</body>
</html>
HTML が最初に読み込まれると、select 要素がウィジェットのパネルに正しく表示されます。select 要素をクリックすると、option 要素がブラウザウィンドウの左上に移動します。パネルを閉じてからウィジェットのアイコンを使用して再度開いたときに、パネルのコンテンツの位置がリセットされません。