diff --git a/apps/common/main/lib/component/Window.js b/apps/common/main/lib/component/Window.js
index 5b2d2f430..ce8de1c2c 100644
--- a/apps/common/main/lib/component/Window.js
+++ b/apps/common/main/lib/component/Window.js
@@ -265,8 +265,10 @@ define([
             var top  = main_geometry.top + Math.floor((parseInt(main_height) - parseInt(win_height)) / 2);
             var left = Math.floor((parseInt(main_width) - parseInt(win_width)) / 2);
 
-            this.$window.css('left',left);
-            this.$window.css('top',top);
+            this.$window.css({
+                left: left < 0 ? 0 : left,
+                top: top < 0 ? 0 : top
+            });
         }
 
         function _setVisible() {
@@ -355,6 +357,23 @@ define([
             }
         }
 
+        function _onResizeMove(){
+            var main_geometry = _readDocumetGeometry(),
+                main_width = main_geometry.width,
+                main_height = main_geometry.height,
+                win_height = this.getHeight(),
+                win_width = this.getWidth(),
+                top = this.getTop(),
+                left = this.getLeft();
+
+            top = top + win_height > main_height ? main_height - win_height : top;
+            left = left + win_width > main_width ? main_width - win_width : left;
+
+            this.$window.css({
+                left: left < 0 ? 0 : left,
+                top: top < 0 ? 0 : top
+            });
+        }
 
         /* window resize functions */
         function _resizestart(event) {
@@ -658,7 +677,7 @@ define([
                     this.$window.find('.header').on('mousedown', this.binding.dragStart);
                     this.$window.find('.tool.close').on('click', _.bind(doclose, this));
                     this.$window.find('.tool.help').on('click', _.bind(dohelp, this));
-
+                    $(window).on('resize', _.bind(_onResizeMove, this));
                     if (!this.initConfig.modal)
                         Common.Gateway.on('processmouse', _.bind(_onProcessMouse, this));
                 } else {