4

私が取り組んでいるプロジェクトには、省略記号スタイルを使用する多くの要素があります。もちろん、FireFox を除くすべての主要なブラウザーで、純粋な CSS で問題なく動作します。ここで定義されているように、XUL/XBL で定義された要素をトリミングするためのバインディング情報を含む xml ファイルを参照する -moz-binding 修正を実装しましたが、うまく機能しました... すべての静的ファイル (CSS、画像など) をパフォーマンス最適化サーバーに送信します。-moz-bindings が機能しなくなったのは、セキュリティ上の予防策として、FF が XUL のクロスドメインでの動作を無効にしたためです。

次のように、バインド xml を -moz-binding の url 句に直接配置することについて、オンラインで多くの参照を見つけました。

-moz-binding: url(data:text/xml;charset=utf-8,%3C%3Fxml%20version%3D%221.0%22%3F%3E%3Cbindings%20xmlns%3D%22http%3A//www.mozilla.org/xbl%22%20xmlns%3Axbl%3D%22http%3A//www.mozilla.org/xbl%22%20xmlns%3Axul%3D%22http%3A//www.mozilla.org/keymaster/gatekeeper/there.is.only.xul%22%3E%09%3Cbinding%20id%3D%22ellipsis%22%3E%3Ccontent%3E%3Cxul%3Adescription%20crop%3D%22end%22%20xbl%3Ainherits%3D%22value%3Dxbl%3Atext%22%3E%3Cchildren/%3E%3C/xul%3Adescription%3E%3C/content%3E%3C/binding%3E%3C/bindings%3E);

しかし、それはうまくいきませんでした...バインディングは失敗し、要素はブラウザーにまったく表示されません。エラー(少なくともキャプチャ方法を理解できる)はスローされないため、何が起こっているのかを診断できません。

たぶん、xml をエンコードした方法だと思いましたが、Mozilla のドキュメントやこの他のサンプルでサンプルを試してもうまくいきません。Mozilla の例で要素だけを含む単純な html ページを試してみましたが、失敗しました。このインラインのものを機能させるために、構成に関して欠けているのは何ですか?

私は、1) inline -moz-binding を機能させる方法、または 2) CSS が別のドメインから来ているときに外部 xml ファイルが機能するように解決する方法のいずれかを探しています。

誰かアドバイスがあれば、それは大歓迎です!

ところで、省略記号をフィールドに適用する他のソリューション (Javascript の実装など) には興味がありません。これは私たちの目的には問題なく機能し、サイト内の多くの場所で CSS クラスとして使用されているため、別のアプローチのリファクタリングを実現できません。

4

1 に答える 1

1

.htaccess に追加してみてください:

Header set Access-Control-Allow-Origin * 

ソース

于 2010-06-08T09:54:42.230 に答える