Автоматическое открытие страниц на разных мониторах - PullRequest
1 голос
/ 07 апреля 2011

Я разрабатываю страницу экстренного реагирования, которая должна отображать информацию на 3 разных мониторах.Первый монитор будет собирать информацию о звонящем, а затем содержать 2 ссылки.Первая ссылка должна отображать другую веб-страницу на 2-м мониторе, а вторая ссылка должна отображать другую веб-страницу на 3-м мониторе.

Возможно ли это?

Спасибо за любыепомощь

Ответы [ 4 ]

0 голосов
/ 07 апреля 2011

Первая ссылка должна отображать другую веб-страницу на 2-м мониторе, а вторая ссылка должна отображать другую веб-страницу на 3-м мониторе.

Хотя, в зависимости от вашей операционной системы, можно контролировать, где появляется окно, вариантов для этого гораздо меньше, используя код javascript / серверный код поверх HTTP / браузеров.

Единственный разумный способ добиться этого - настроить дисплеи так, чтобы они были плитками большего дисплея, а не независимыми экранами (для * nix / BSD / Linux, ознакомьтесь с xinerama).

Приведенный ниже код сохраняет размер окна - и потребуются лишь некоторые простые изменения для поддержки смещения x / y и нескольких окон - я оставляю вам, как вы различаете окна.

Более простой подход состоит в том, чтобы просто иметь одно огромное окно с кадрами, границы которых совпадают с мониторами.

if (document.getElementById && !document.all) { // NOT for MSIE
    stickySizeOverloadOnload(stickySizeSetWindowSize);
    stickySizeOverloadOnresize(stickySizeSaveWindowSize);
}

function stickySizeSaveWindowSize(event)
{
    var expiry = new Date();
    var path = document.location.pathname;

    expiry.setDate(expiry.getDate()+500);
    stickySizeSetCookie('windowSize', window.outerWidth + ',' + window.outerHeight, expiry, path);
}

function stickySizeSetWindowSize()
{
    var saved=stickySizeGetCookie('windowSize');
    var parts=new Array();
    if (saved.length) {
    parts = saved.split(',');
    if ((parts[0]>100) && (parts[1]>100)) {
        window.outerWidth=parts[0];
        window.outerHeight=parts[1];
    } else {
        alert("invalid size - '" + saved + "'");
        stickySizeDeleteCookie('windowSize');
    }
}
}

function stickySizeOverloadOnload(func)
{
   var oldhandler=window.onload;
   if (typeof window.onload != "function") {
      window.onload=func;
   } else {
     window.onload=function(event) {
       oldhandler(event);
   func(event);
     }
   }
}
function stickySizeOverloadOnresize(func)
{
   var oldhandler=window.onresize;
   if (typeof window.onresize != "function") {
      window.onresize=func;
   } else {
      window.onresize=function(event) {
         oldhandler(event);
         func(event);
      }
   }
}

function stickySizeSetCookie(name, value, expires, path, domain, secure) {
  var curCookie = name + "=" + escape(value) +
  ((expires) ? "; expires=" + expires.toGMTString() : "") +
  ((path) ? "; path=" + path : "") +
  ((domain) ? "; domain=" + domain : "") +
  ((secure) ? "; secure" : "");
  document.cookie = curCookie;
}
function stickySizeGetCookie(name) {
   var dc = document.cookie;
   var prefix = name + "=";
   var begin = dc.indexOf("; " + prefix);
   if (begin == -1) {
      begin = dc.indexOf(prefix);
      if (begin != 0) return null;
   } else
      begin += 2;
   var end = document.cookie.indexOf(";", begin);
   if (end == -1)
   end = dc.length;
   return unescape(dc.substring(begin + prefix.length, end));
}
function stickySizeDeleteCookie(name, path, domain) {
   if (stickySizeGetCookie(name)) {
      document.cookie = name + "=" +
        ((path) ? "; path=" + path : "") +
        ((domain) ? "; domain=" + domain : "") +
        "; expires=Thu, 01-Jan-70 00:00:01 GMT";
   }
}
0 голосов
/ 07 апреля 2011

Взгляните на Java: получение разрешений одного / всех доступных мониторов (вместо всего рабочего стола)?

(Ответ обсуждает вызов GraphicsEnvironment.getLocalGraphicsEnvironment ())

0 голосов
/ 07 апреля 2011

Если вы действительно хотите, чтобы окна были привязаны к определенному монитору, вам потребуется реализовать эту клиентскую сторону.Вот ссылка , описывающая, как определить, какой монитор находится на в Java, так что вы можете переместить его на нужный монитор и развернуть окно, если хотите.Очевидно, что вы можете реализовать остальную часть системного сервера и просто отображать страницы внутри созданных вами окон.

0 голосов
/ 07 апреля 2011

Вы можете открыть ссылки в другом окне с атрибутом target = "windowName".

Вам необходимо настроить три окна вручную, поэтому присвойте их вручную трем экранам.Когда вы снова открываете ссылку в окне, она остается на том же экране.

...