要素がクリックされ、JQuery post関数を使用してサーバーから画像が取得され、画像にサイズ変更された新しいウィンドウに表示されるWebページがあります。関連するJavascript関数は次のとおりです(myImageはbase 64形式で返される画像です)。
function showPicture(label) {
var newWindow = window.open("", label,"scrollbars=0, toolbar=0");
$.post( 'picture-view', { labelname: label },
function(myImage) {
newWindow.document.write("<img src='data:image/png;base64," + myImage + "'/>");
newWindow.resizeTo(newWindow.document.getElementsByTagName("img")[0].width, newWindow.document.getElementsByTagName("img")[0].height+newWindow.outerHeight-newWindow.innerHeight);
newWindow.focus();
}
);
}
私に問題を引き起こしている3つのことがあります。
画像が新しいウィンドウに挿入され、白い境界線が表示されますが、削除方法がわかりません。
この用語
newWindow.outerHeight-newWindow.innerHeight
は、ウィンドウのサイズを変更するときにツールバーなどを説明することになっていますが、両方ともゼロとして出力されています。この最後のものは本当に私を悩ませてきました。4行目から始まるコールバック関数内に行を配置すると
var newWindow = window.open("", label,"scrollbars=0, toolbar=0");
、新しいウィンドウの作成が小さすぎて、resizeTo関数によってサイズが変更されません。
さらに読むためのアドバイスや指示は非常に役立ちます。