2

AngularJSとAngular-UIを使用しているChrome拡張機能でSelect2の悪い動作が発生しています。

シナリオ

Select2のコンテンツは、AngularJs$resoucesモジュールを介して非同期で読み込まれます。


何が起こるべきですか?

Select2をクリックすると、コンテンツが表示されます。


実際に何が起こっているのですか?

select2ドロップダウンを最初にクリックすると、ウィンクしてから非表示になります。


Obs.:
同じコードがchromeの拡張機能ポップアップからうまく機能します。
あなたはそれがここで働いているのを見ることができます:http://moneynow2.apphb.comそして、ここで私のgithubリポジトリで
コードを参照できます。

4

2 に答える 2

2

私はChrome拡張機能で正常に動作していますが、「インラインイベントハンドラーの実行が拒否されました。これは、次のコンテンツセキュリティポリシーディレクティブに違反しているためです: "default-src'self' chrome-extension-resource:"。'script-srcに注意してください。 'は明示的に設定されていないため、'default-src'がフォールバックとして使用されます。 "Chromeコンソールで。

于 2013-01-29T13:42:53.730 に答える
0

これをテストするのは本当に難しいです。

ポップアップのように見えますが、ドロップメニューを開くと、ルートがリロードされます(コントローラー全体とng-viewのコンテンツがリロードされます)。これはWebページでは発生しません。ポップアップが右下隅に表示され、ウィンドウを伸ばしていると思いました(ステップスルーしたときに発生しました)。これが発生したとき、実際にselect2が消えるウィンドウスクロールイベントがトリガーされた可能性があると思いました(これは、pos:fixedであるため、ドロップメニューがランダムな場所に留まらないようにするselect2の機能です)。

また、クロームポップアップについて、「url」が変更されたり、スクロールイベントがトリガーされたりする可能性のあるイベントを特定するのに十分な知識がありません。

最初はselectOptions={data:$ myResource.query()}か何かをすることを提案したでしょうが、それは役に立たないと思い始めています。

提案:

ルーターを取り外して、何が起こるかを確認してください。Chrome拡張機能で気にする必要があるかどうかはわかりません。このような小さなスペースでは、とにかくコードが少ない方が良いでしょう。

于 2013-01-28T23:07:24.550 に答える