Javascripts适用于chrome,在IE中它不起作用

时间:2010-10-29 10:43:24

标签: javascript javascript-events

在php文件中:

<script type="text/javascript">
 function click(input){
  img = new Image();
  img.src = '/click.php?id=' +input;
 }
</script>

<a href="http://www.out.com"  target="_blank" onclick="click('IDinmysql')" >outlink</a>
单击此链接后,

click.php更新了mysql

它适用于chrome,但不适用于IE,有什么问题?

5 个答案:

答案 0 :(得分:3)

不应该是

onclick="out('IDinmysql')"

此外,您应附加时间戳以防止IE缓存。

img.src = '/click.php?t='+new Date().getTime()+'&id=' +input;

制作img private也很好

var img = new Image();

答案 1 :(得分:1)

即使有建议的更正,您的代码有时也会工作,有时会因同时执行两项操作而失败。

您的onclick事件要求浏览器加载新图片,然后将当前页面重定向到新地址。

问题是图像是异步加载的,具体取决于浏览器,加载图像的页面也可能会取消所有待处理的加载。

您可以通过更改链接的href来解决此问题,以便调用/click.php?id=IDinmysql&redirect=http://www.out.com(UrlEncode正确)。然后你的PHP脚本记录点击然后进行重定向。

答案 2 :(得分:0)

这里似乎缺少一些代码。 onclick =“click()”如何调用“out(input)”函数?

答案 3 :(得分:0)

真正的问题(当然其他事情也必须修复):

更改功能名称。还有一个名为click的原生javascript方法,

答案 4 :(得分:0)

如果您不想使用重定向,请等待浏览器完成对click.php的请求,然后转到外部地址。下面的代码可能需要进行一些跨浏览的调整,我记得有些浏览器在使用.click()方法或onreadystatechange()事件时遇到问题。

<script type="text/javascript">
function click(input,aObj){
    img = new Image();
    img.onreadystatechange = function(){
        aObj.onclick = function(){};
        aObj.click();
    };
    img.src = '/click.php?id=' +input;
    return false;
}
</script>

<a href="http://www.out.com" target="_blank" onclick="return click('IDinmysql',this)">outlink</a>

第二个想法是在尺寸为1x1的弹出窗口中打开click.php,并使其返回<body onload="window.close()"></body>