3 つの異なるモニターに情報を表示する必要がある緊急対応ページを設計しています。最初のモニターは発信者に関する情報を収集し、2 つのリンクを含みます。最初のリンクは 2 番目のモニターに別の Web ページを表示する必要があり、2 番目のリンクは 3 番目のモニターに別の Web ページを表示する必要があります。
これは可能ですか?
助けてくれてありがとう
最初のリンクは2番目のモニターに別のWebページを表示する必要があり、2番目のリンクは3番目のモニターに別のWebページを表示する必要があります。
オペレーティングシステムによっては、ウィンドウを表示する場所を制御することは可能ですが、HTTP/ブラウザを介してjavascript/サーバーサイドコードを使用してこれを行うためのオプションははるかに少なくなります。
これを達成するための唯一の賢明な方法は、独立した画面ではなく、より大きなディスプレイのタイルになるようにディスプレイを構成することです(* nix / BSD / Linuxについては、xineramaをチェックしてください)。
以下のコードはウィンドウのサイズを節約します-そしてx/yオフセットと複数のウィンドウをサポートするためにいくつかの簡単な変更を必要とするだけです-ウィンドウをどのように区別するかについてはあなたに任せます。
より簡単なアプローチは、境界線がモニターと整列するフレームを備えた1つの大きなウィンドウを作成することです。
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";
}
}
ウィンドウを特定のモニターにロックする必要がある場合は、このクライアント側を実装する必要があります。これは、Javaでウィンドウがオンになっているモニターを検出する方法を説明するリンクです。これにより、ウィンドウを適切なモニターに移動して、必要に応じてウィンドウを最大化できます。もちろん、システムサーバー側の残りの部分を実装して、作成したウィンドウ内にページを表示することもできます。
Java をご覧ください: 使用可能な 1 つまたはすべてのモニターの解像度を取得します (デスクトップ全体ではなく)?
(答えは GraphicsEnvironment.getLocalGraphicsEnvironment() 呼び出しについて説明しています)
属性 target="windowName" を使用して、リンクを別のウィンドウで開くことができます。
3 つのウィンドウを手動でセットアップする必要があるため、手動で 3 つの画面に割り当てます。ウィンドウでリンクを再度開くと、同じ画面に表示されたままになります。