2

sap netweaver を使用して Web サイトを生成するプロジェクトに参加しました。

これまでは DCP を個別に作成していたので、20 個の DCP をリンクしてスタイルを設定する必要があります。

ルートでは、各 DCP は IView/IFrame です。

現在、20 個の css ファイルがあり、維持が難しく、すぐに変更できないため、scss を使用して 1 つの css ファイルを生成し、すべてを機能させようとしています。

その部分は正常に動作しますが、問題が発生しました。各 IFrame はそれ自体をレンダリングし、それぞれが css ファイルをロードするため、新しい css ファイルへの呼び出しが 20 回発生します。

親ビューと IFrame の間で css ファイルを共有する方法はありますか、または少なくとも css ファイルが一度ダウンロードされ、他の 19 がキャッシュされたバージョンを使用するように設定する方法はありますか?

乾杯

ジェイソン

4

1 に答える 1

1
<script type="text/javascript">
  $(document).ready(function() {
  //pulling all <style></style> css of parent document
  if (parent) {
        var oHead = document.getElementsByTagName("head")[0];
        var arrStyleSheets = parent.document.getElementsByTagName("style");
        for (var i = 0; i < arrStyleSheets.length; i++)
            oHead.appendChild(arrStyleSheets[i].cloneNode(true));
    }
 //pulling all external style css(<link href="css.css">) of parent document
    $("link[rel=stylesheet]",parent.document).each(function(){
        var cssLink = document.createElement("link")
        cssLink.href = "http://"+parent.document.domain+$(this).attr("href");
        cssLink .rel = "stylesheet";
        cssLink .type = "text/css";
        document.body.appendChild(cssLink);
    });   
  });
</script>

外部スタイルシートで定義されているcssと、親ドキュメントのタグで定義されているcssを継承できます。

于 2012-05-24T18:53:38.470 に答える