0

今日、Umbraco 4.8.1で奇妙な問題を見つけたかもしれません(これは以前のバージョンでは問題ではなく、新しいバージョンではまだテストされていません)。

再現する手順

  1. WindowsXPでUmbraco管理システムを開きますInternetExplorerベースのブラウザを使用します-これはChrome、Firefox、Safariの問題ではありません
  2. 管理システムにログインします。
  3. コンテンツセクションに移動します。
  4. コンテンツをクリックして新しいコンテンツアイテムを作成し、ドキュメントタイプを選択します。
  5. [作成]をクリックします。

この時点で、新しく作成されたアイテムのダッシュボードが表示されることを期待しています。ただし、実際に発生するのは、作成ダイアログが消え、同じ最初のダッシュボードに留まり、ツリーが更新されないことです。ツリーの[ノードの再読み込み]をクリックすると、新しいノードがそこにあります。そのノードをクリックすると、同じ新しいコンテンツダッシュボードを取得できます。

この問題は、Windows XPオペレーティングシステムを使用している場合、IE6、IE7、およびIE8で発生します。Windows 7を使用している場合、これは問題ではなく、正常に機能しているように見えます。

私はフィドラーを使用して、両方のマシンのローカルトラフィックをチェックしました。Windows 7バージョンでは、create.aspxへの2回目の呼び出しに気づきましたか?これは200を再調整し、その後にeditContent.aspxなどを呼び出します。WindowsXPでは、この2番目の呼び出しは発生しますが、後続のeditContent.aspxは呼び出されません。ノードを作成しているように見えますが、その後、ページのリダイレクトまたは呼び出しに失敗します。

誰か助けてもらえますか?何が起こっているのか提案しますか?私は多くの助けなしにフォーラムとグーグルを見てみましたか?

クライアントにWindowsXPを使用 しないように指示して応答しないでください。umbracoフォーラムで幸運が得られると返信しないでください-私はすでにそこに投稿しています:http://our.umbraco.org/forum/using/ui-questions/36841-Create-Content-does-not- redirect-to-new-Content-Page-on-IE6-8-on-Windows-XP

4

1 に答える 1

0

いくつかの調査の後、私はこれを引き起こしている理由を見つけました。Umbracoは、JavaScriptファイルUmbracoClientManager.jsと、その上にあるcontentFrameという関数を使用してメインダッシュボードフレームをリダイレクトします。

4.7.1以前のバージョンでは、リダイレクトの周囲にsetTimeoutクロージャは追加されていません。

133行目umbraco_client\Application \ UmbracoClientManager(バージョン4.8.1以降)

var self = this;
window.setTimeout(function(){
  if (typeof self.mainWindow().right != "undefined") {
    self.mainWindow().right.location.href = strLocation;
  }
  else {
    self.mainWindow().location.href = strLocation; //set the current windows location  
          if the right frame doesn't exist int he current context
  }
},200);

133行目umbraco_client\Application \ UmbracoClientManager(バージョン4.7.1)-上記と同じコードが実際にあります

if (typeof this.mainWindow().right != "undefined") {
 this.mainWindow().right.location.href = strLocation;
  }
else {
  this.mainWindow().location.href = strLocation; //set the current windows location if the right frame doesn't exist int he current context
}

したがって、リダイレクト先のダッシュボードページに200ミリ秒以上かかる場合は表示されず、バージョン4.8.1以降ではjavascript関数がタイムアウトします。

したがって、200ミリ秒以上かかるダッシュボードがある場合は、これを適切な値に上げることが最善の方法です。

これをここに文書化しました:http://issues.umbraco.org/issue/U4-1311

于 2012-12-11T20:57:49.447 に答える