2

Sitecore コンテンツ ツリーを展開すると、コンテンツ ツリーに垂直スクロール バーが表示され、下にスクロールしてツリーの下部にある項目を選択すると、上部にスクロールします。これは、Firefox、IE10、IE9、Chrome でのみ発生し、正常に動作します。ごく最近、Sitecore のアップグレードを行いました。誰かが同様の問題に遭遇しましたか? 助けてください!

Sitecore.NET 6.6.0 (rev. 130404)
Firefox バージョン - 21、22

4

2 に答える 2

1

Sitecore サポートのおかげで、問題が見つかりました。この問題は、いくつかのプロパティが変更されるとすぐに Fixefox が HTML コントロールを更新するために発生します。項目を選択すると、s width is changed and as a result it is redrawn. Developed workaround forbids changing of the controlsFirefox の静的コントロール (コンテンツ ツリーなど) のコンテンツ ツリー パネル サイズ。後遺症として、Firefox でのウィンドウのサイズ変更 (ブラウザー ウィンドウの高さの変更) が正しくない可能性があります。回避策を実装するには、パス 'Website\sitecore\shell\Controls\Gecko.js' の下にある既存のものを添付のものに置き換え、ブラウザのキャッシュをクリアしてください。結果をお知らせください。

scBrowser.prototype.resizeFixsizeElements = function() {
  var form = $$("form")[0];
  if (!form) {
    return;
  }
  if (!this.isFirefox)
    {
      this.fixsizeElements.each(function (element) {
        if (!element.hasClassName('scFixSizeNested')) {
          element.setStyle({ height: '100%' });
        }
      });        
       var maxHeight = 0;
  var formChilds = form.childNodes;

  for (var i = 0; i != formChilds.length; i++) {
    var elementHeight = formChilds[i].offsetHeight;
    if (elementHeight > maxHeight) {
      maxHeight = elementHeight;
    }
  }
  var formHeight = form.offsetHeight;
  this.fixsizeElements.each(function (element) {
      var height = element.hasClassName('scFixSizeNested')
        ? (form.getHeight() - element.scHeightAdjustment) + 'px'
        : (element.offsetHeight - (maxHeight - formHeight)) + 'px';
      element.setStyle({ height: height });
  });   
}
  /* trigger re-layouting to fix the firefox bug: table is not shrinking itself down on resize */
  scGeckoRelayout();
}
于 2013-07-05T06:47:57.650 に答える
1

同様の問題があり、Sitecore サポートに連絡しました。
- \sitecore\shell\Controls\Gecko.jsを開く
- 668 行目を置き換えます。

scBrowser.prototype.resizeFixsizeElements = function() {
  var form = $$("form")[0];

  this.fixsizeElements.each(function(element) {
    var height = form.getHeight() - element.scHeightAdjustment + "px";
    element.setStyle({ height: height });
  });

  /* trigger re-layouting to fix the firefox bug: table is not shrinking itself down on resize */
  scGeckoRelayout();
}

に:

scBrowser.prototype.resizeFixsizeElements = function() {
  var form = $$("form")[0];
  if (!form) {
    return;
  }

  this.fixsizeElements.each(function (element) {
    if (!element.hasClassName('scFixSizeNested')) {
      element.setStyle({ height: '100%' });
    }
  });

  var maxHeight = 0;
  var formChilds = form.childNodes;

  for (var i = 0; i != formChilds.length; i++) {
    var elementHeight = formChilds[i].offsetHeight;
    if (elementHeight > maxHeight) {
      maxHeight = elementHeight;
    }
  }

  var formHeight = form.offsetHeight;

  this.fixsizeElements.each(function (element) {
      var height = element.hasClassName('scFixSizeNested')
        ? (form.getHeight() - element.scHeightAdjustment) + 'px'
        : (element.offsetHeight - (maxHeight - formHeight)) + 'px';
      element.setStyle({ height: height });
  });

  /* trigger re-layouting to fix the firefox bug: table is not shrinking itself down on resize */
  scGeckoRelayout();
}
于 2013-07-02T07:00:42.793 に答える