2

私はこれに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 要素がブラウザウィンドウの左上に移動します。パネルを閉じてからウィジェットのアイコンを使用して再度開いたときに、パネルのコンテンツの位置がリセットされません。

4

1 に答える 1

2

コメントで失われないように: これは既知のバグ、つまりBug 886329です。これはすでに P1 (優先度 1) とマークされているため、「リストの非常に高い位置に配置する必要がある」と言われました。個人的な経験によると、Firefox 23 ポイント リリースで修正される可能性は低いと言えます (1 つでもあるとしても)。Firefox 24 で修正されるかもしれませんが、それ以降になるかもしれません...

いくつかの html UI ライブラリを使用してドロップダウンをシミュレートする以外に、考えられる実際の回避策はありません (実際には を使用する場合は OS レベルの子ウィンドウです<select>が、html を使用する場合はそうではありません)。ネット上にはそのような実装がたくさんあります。

于 2013-08-15T23:44:07.573 に答える