最初に、データベース エントリの ID である label 要素の値を取得する JavaScript 関数があります。これらの ID は、データベースから画像の保存場所を取得する ASP ページに送信されます。
選択された各画像のこの保存場所の情報は、ASP.NET ページに送信されます。ASP.NET ページは、各画像の保存場所を分割し、それに応じて画像を回転させます。これはすべて完璧に機能します。私の唯一の問題は、HTA ファイルを再度開くまで画像が更新されないことです。
ビデオに見られるように、更新は機能しません。
下部のビデオでわかるように、ファイルは回転しています
回転を行う私のJavaScriptは次のとおりです。
function doRotate(dir,obj)
{
var http = getHTTPObject();
var http2 = getHTTPObject();
ids = fetchSelection().toString();
//Make button animate, visual aid that it is working
obj.src = "http://localhost/nightclub_photography/images/buttons/"+dir+"_animated.gif";
http.onreadystatechange = function()
{
//Fetch the save location of selected images
if (http.readyState == 4 && http.status == 200) {
//Create URL string to send to rotate script
var locs = http.responseText;
locs = locs.split(",");
//Start of URL
var url = "http://localhost/nightclub_photography/net/rotate_script.aspx?dir=" + dir;
for (var i=0; i < locs.length-1; i++)
{
url = url + "&t=" + locs[i];
}
//Add random math
url = url + "&k=" + Math.random();
http2.onreadystatechange = function()
{
if (http2.readyState == 4 && http2.status == 200)
{
//Stop animated button
obj.src = "http://localhost/nightclub_photography/images/buttons/"+dir+".png";
//Split id's
var idsSplit = ids.split(",");
for (var k=0; k < idsSplit.length; k++) {
reapplyStyle(idsSplit[k]);
}
}
}
http2.open("GET", url);
http2.send();
}
}
http.open("GET", "http://localhost/nightclub_photography/asp/returnDatabaseData.asp?ids="+ids+"&k=" + Math.random());
http.send();
}
また、回転した画像をリロードする必要がある背景画像を再適用する(まあ、そうする必要があります)関数もあります。ページのリロードが機能しないため、その機能も機能していることはわかりませんが、それは別の問題です。関数は次のとおりです。
function reapplyStyle(id) {
var background = doc(id+"_label").style.backgroundImage;
doc(id+"_label").style.backgroundImage = background;
}