在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,有什么问题?
答案 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>