我有一个 JavaScript 函数,它首先获取标签元素的值,这是一个数据库条目的 ID。然后将这些 ID 发送到 ASP 页面,该页面从数据库中获取图像保存位置。
然后将每个选定图像的保存位置信息发送到 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;
}