2010-01-12 2 views

ответ

4

Используя код, вставленный снизу, вы можете эмулировать эти кнопки, создавая их в своем интерфейсе веб-сайта.

Чтобы увеличить: сохраните текущее положение с Namespace.outerPositionGet() и размер с помощью Namespace.outerSizeGet(), затем выполните Namespace.outerPositionSet({left:0,top:0}) и Namespace.outerSizeSet({width:window.screen.availWidth, height:window.screen.availHeight}).

Для восстановления: просто установите положение и размер, которые были сохранены при максимизации.

var Namespace = (function() { 
    var N, W, framePosition, frameChrome, setFramePosition, setFrameChrome; 
    N = {}; 
    W = window; 
    setFramePosition = function() { 
     var tmp0; 
     if (typeof framePosition !== 'undefined') { 
      return; 
     } 
     tmp0 = { 
      top : W.screenTop, 
      left : W.screenLeft 
     }; 
     W.moveTo(tmp0.left, tmp0.top); 
     framePosition = { 
      top : tmp0.top - W.screenTop, 
      left : tmp0.left - W.screenLeft 
     }; 
     W.moveTo(tmp0.left + framePosition.left, tmp0.top + framePosition.top); 
    }; 
    setFrameChrome = function() { 
     var tmp0, tmp1; 
     if (typeof frameChrome !== 'undefined') { 
      return; 
     } 
     tmp0 = N.innerSizeGet(); 
     W.resizeTo(tmp0.width, tmp0.height); 
     tmp1 = N.innerSizeGet(); 
     frameChrome = { 
      width : tmp0.width - tmp1.width, 
      height : tmp0.height - tmp1.height 
     }; 
     W.resizeTo(tmp0.width + tmp1.width, tmp0.height + tmp1.height); 
    }; 
    N.outerPositionSet = function(position) { 
     W.moveTo(position.left, position.top); 
    }; 
    N.outerPositionGet = function() { 
     if (typeof W.screenTop !== 'undefined') { 
      setFramePosition(); 
      N.outerPositionGet = function() { 
       return { 
        top : W.screenTop + framePosition.top, 
        left : W.screenLeft + framePosition.left 
       }; 
      }; 
     } else if (typeof W.screenY !== 'undefined') { 
      N.outerPositionGet = function() { 
       return { 
        top : W.screenY, 
        left : W.screenX 
       }; 
      }; 
     } else { 
      N.outerPositionGet = function() { 
       return { 
        top : 0, 
        left : 0 
       }; 
      }; 
     } 
     return N.outerPositionGet(); 
    }; 
    N.outerSizeSet = function(size) { 
     W.resizeTo(size.width, size.height); 
    }; 
    N.outerSizeGet = function() { 
     if (W.outerWidth) { 
      N.outerSizeGet = function() { 
       return { 
        width : W.outerWidth, 
        height : W.outerHeight 
       }; 
      }; 
     } else { 
      setFrameChrome(); 
      N.outerSizeGet = function() { 
       var size; 
       size = N.innerSizeGet(); 
       size.width += frameChrome.width; 
       size.height += frameChrome.height; 
       return size; 
      }; 
     } 
     return N.outerSizeGet(); 
    }; 
    N.innerSizeSet = function(size) { 
     setFrameChrome(); 
     N.innerSizeSet = function(size) { 
      W.resizeTo(size.width + frameChrome.width, size.height + frameChrome.height); 
     }; 
     N.innerSizeSet(size); 
    }; 
    N.innerSizeGet = function() { 
     if (typeof W.innerHeight === 'number') { 
      N.innerSizeGet = function() { 
       return { 
        width : W.innerWidth, 
        height : W.innerHeight 
       }; 
      }; 
      return N.innerSizeGet(); 
     } 
     var isDocumentElementHeightOff, node; 

     isDocumentElementHeightOff = function() { 
      var div, r; 
      div = W.document.createElement('div'); 
      div.style.height = "2500px"; 
      W.document.body.insertBefore(div, W.document.body.firstChild); 
      r = W.document.documentElement.clientHeight > 2400; 
      W.document.body.removeChild(div); 
      return r; 
     }; 

     if (typeof W.document.clientWidth === 'number') { 
      node = W.document; 
     } else if ((W.document.documentElement && W.document.documentElement.clientWidth === 0) || isDocumentElementHeightOff()) { 
      node = W.document.body; 
     } else if (W.document.documentElement.clientHeight > 0) { 
      node = W.document.documentElement; 
     } 
     N.innerSizeGet = function() { 
      return { 
       width : node.clientWidth, 
       height : node.clientHeight 
      }; 
     }; 
     return N.innerSizeGet(); 
    }; 
    return N; 
})(); 
0

Вы не можете, извините - по крайней мере, не повсеместно. Всплывающее окно зависит от реализации и не существует стандартных методов JavaScript для управления им в том виде, который вы описываете.

1

Я предполагаю, что вы говорите о всплывающем окне предупреждения? Это невозможно сделать со стандартным JavaScript.

Лучшим решением было бы попытаться использовать некоторые из множества всплывающих решений, которые были разработаны для различных фреймворков JavaScript (например, jQuery), и посмотреть, можете ли вы адаптировать их к конкретному использованию.

7

Вы должны открыть всплывающее окно, как это:

window.open('url', 'windowname', 'location=0, status=0, resizable=1, scrollbars=1, width=400, height=400'); 

Хитрость заключается в том, чтобы сделать окно изменяемого размера. Найдите документацию функции window.open().

1

попробуйте это тоже. его работа для меня ...

window.open('fileURL','status=1,directories=1,menubar=0,toolbar=0, 
       scrollbars=1,titlebar=0,dialog=1) 
Смежные вопросы