1

一组图像在 div 中调用,如果需要,我们提供了一个旋转图像的选项。

实际上,图像正在旋转,但没有显示在页面中(没有进行 2 或 3 次手动页面刷新)。

我已经添加了

 <meta HTTP-EQUIV="Pragma" content="no-cache"/>
 <meta HTTP-EQUIV="Cache-Control" content="no-cache"/>

在头

也做了

if(isset($_GET['re'])=='re')
{
?>

<script language="JavaScript" type="text/javascript">

var reloaded = false;
var loc=""+document.location;
loc = loc.indexOf("?reloaded=")!=-1?loc.substring(loc.indexOf("?reloaded=")+10,loc.length):"";
loc = loc.indexOf("&")!=-1?loc.substring(0,loc.indexOf("&")):loc;
reloaded = loc!=""?(loc=="true"):reloaded;

function reloadOnceOnly() {
    if (!reloaded)
        window.location.replace(window.location+"?reloaded=true");
}
reloadOnceOnly(); //You can call this via the body tag if desired
</script>

<?php
}

但如果没有另一次手动刷新,它不会显示新的旋转或更改的图像。

你能帮我解决这个问题吗?

4

2 回答 2

0

如果我理解正确,您是在尝试使用 PHP 编写代码来刷新网页吗?但是,这里的问题是,一旦 PHP 输出到客户端,您就无法控制它了。在这种情况下,最好的办法是使用 JavaScript 为您进行刷新。希望能帮助到你 :)


嗨 Merlin,您可能想使用如下更简单的逻辑:

<script type="text/javascript">

    var reloaded = false;
    var loc=""+document.location;

    loc = loc.indexOf("?reloaded=");

    if (loc == -1){
      window.location.replace(window.location+"?reloaded=true");      
    }
</script>

或者,您可能希望将其打包成一个函数供您使用。希望能帮助到你 (:

于 2011-05-03T07:14:19.803 回答
0

为什么不

<script>
function rotate(imgId,direction) {
  var img = document.getElementById(imgId);
  img.src=img.src.split("rotation=")[0]+"rotation="+direction+"&rnd="+new Date().getTime();
  return false;
}
</script>
<img id="image1" src="getimage.php?name=image1&rotation=0" /><br />
<a href="#" onclick="return rotate('image1',0)">Reset</a>
<a href="#" onclick="return rotate('image1',1)">90°</a>
<a href="#" onclick="return rotate('image1',2)">180°</a>
<a href="#" onclick="return rotate('image1',3)">270°</a>
于 2011-05-03T07:55:52.587 回答