Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/473.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascripts适用于chrome,但在IE中不起作用_Javascript_Javascript Events - Fatal编程技术网

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

Javascripts适用于chrome,但在IE中不起作用,javascript,javascript-events,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>

在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>

功能点击(输入){
img=新图像();
img.src='/click.php?id='+输入;
}
单击此链接后,click.php将更新mysql

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

onclick="out('IDinmysql')"
此外,您应该附加一个时间戳,以防止IE缓存

img.src = '/click.php?t='+new Date().getTime()+'&id=' +input;
也可以将img私有化

var img = new Image();
应该是吧?

onclick="out('IDinmysql')"
此外,您应该附加一个时间戳,以防止IE缓存

img.src = '/click.php?t='+new Date().getTime()+'&id=' +input;
也可以将img私有化

var img = new Image();

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

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

即使有建议的更正,由于同时执行两个操作,您的代码有时可能会工作,有时会失败

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

问题在于图像是异步加载的,并且取决于浏览器,离开加载图像的页面也可能会取消所有挂起的加载


您可以通过更改链接的
href
,使其调用
/click.php?id=mysql&redirect来解决此问题=http://www.out.com
(正确地对其进行URL编码)。然后您的PHP脚本记录单击,然后进行重定向。

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

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

问题在于图像是异步加载的,并且取决于浏览器,离开加载图像的页面也可能会取消所有挂起的加载

您可以通过更改链接的
href
,使其调用
/click.php?id=mysql&redirect来解决此问题=http://www.out.com
(正确地对其进行URL编码)。然后您的PHP脚本记录单击,然后进行重定向。

真正的问题(当然,其他问题也必须解决):

更改函数的名称。还有一个本地javascript方法,称为“真正的问题”(当然,其他问题也必须解决):


更改函数的名称。还有一个本地javascript方法,名为,

如果您不想使用重定向,请等待浏览器完成对
单击.php
的请求,然后转到外部地址。下面的代码可能需要一些调整才能跨浏览器使用,我记得有些浏览器在方面有问题。单击()方法或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>

功能点击(输入,aObj){
img=新图像();
img.onreadystatechange=函数(){
aObj.onclick=function(){};
aObj.click();
};
img.src='/click.php?id='+输入;
返回false;
}

第二种方法是在尺寸为1x1的弹出窗口中打开
click.php
,并使其返回
如果您不想使用重定向,请等待浏览器完成对
click.php
的请求,然后转到外部地址。下面的代码可能需要一些调整才能跨浏览器使用,我记得有些浏览器在方面有问题。单击()方法或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>

功能点击(输入,aObj){
img=新图像();
img.onreadystatechange=函数(){
aObj.onclick=function(){};
aObj.click();
};
img.src='/click.php?id='+输入;
返回false;
}

第二个想法是在尺寸为1x1的弹出窗口中打开
click.php
,并使其返回

是可以记录点击而不使用重定向的任何其他方式。php(header:)是可以记录点击而不使用重定向的任何其他方式。php(header:)我还注意到Google跟踪用户点击(不是所有的点击,主要是当你用你的谷歌账户识别时)这样搜索结果(首先调用一个中间的谷歌页面,然后发生重定向),所以这可能是一种方法。我还注意到谷歌跟踪用户点击(不是所有的点击,主要是当你用你的谷歌账户识别时)这样在搜索结果上(首先调用一个中间的Google页面,然后发生重定向),所以这可能是正确的选择。
javascript:void(alert(typeof click));
->未定义。请在Internet Explorer中的链接或MSDN参考中列出的任何其他元素中尝试它:
单击我
:您会看到,它是一个对象。如果您在地址栏中尝试,它将不起作用,因为单击不是窗口的方法,而是某些元素的方法。您的权利。我一直认为它必须被称为by
this.click();
->未定义。请在Internet Explorer中的链接或MSDN参考中列出的任何其他元素中尝试它:
单击我
:您会看到,它是一个对象。如果您在地址栏中尝试,它将不起作用,因为单击不是窗口的方法,而是某些元素的方法。您的权利。我一直认为它必须被称为by
this。单击()