javascript只在IE 11中的调试模式下运行,其他浏览器都可以
我有以下代码(HTTPSAJAX),在IE11中,这只在调试模式下运行良好。问题是在IE中onclick事件不会触发任何操作。但是如何调试它呢?当我打开开发工具时,脚本运行正常,console.log为空。我知道我有很多注释过的代码,但是没有控制台()。我已经删除了这个,我想这就是问题所在。IE 11不接受它的原因是什么 更新:我尝试了各种方法,如元标记、缓存控制等,但都没有效果。唯一有用的是添加javascript只在IE 11中的调试模式下运行,其他浏览器都可以,javascript,internet-explorer,debugging,Javascript,Internet Explorer,Debugging,我有以下代码(HTTPSAJAX),在IE11中,这只在调试模式下运行良好。问题是在IE中onclick事件不会触发任何操作。但是如何调试它呢?当我打开开发工具时,脚本运行正常,console.log为空。我知道我有很多注释过的代码,但是没有控制台()。我已经删除了这个,我想这就是问题所在。IE 11不接受它的原因是什么 更新:我尝试了各种方法,如元标记、缓存控制等,但都没有效果。唯一有用的是添加Math.random()来控制缓存 不起作用 req.setRequestHeader('Cach
Math.random()
来控制缓存
不起作用
req.setRequestHeader('Cache-Control','no-Cache')代码>不起作用
Math.random()
<?php include "vars.php"; ?>
<script type="text/javascript">
function HandleGPIO(gpin,value) {
document.getElementById(gpin).innerHTML="Working";
document.getElementById(gpin).style.color="blue";
var req = createHttpRequest();
req.open("GET", "https://mysite.xy/gpio/gpioajax.php?gpio=" + gpin + "&value=" + value, false); //false ceka na vyrizeni
req.setRequestHeader("Content-Type", "text/html; charset=windows-1250");
req.send(null);
if(req.responseText == 0){
QueryGPIO(); //Query for updated values
return true;
}
else if(req.responseText == 1){
QueryGPIO(); //Query for updated values
return true;
}
else{
window.alert('Spatny navratovy kod pro AJAX, chyba: ' + req.responseText);
QueryGPIO(); //Query for updated values
return false;
}
}
function QueryGPIO() {
//var arr_inputs = ['5','21','27'];
var arr_inputs = <?php echo '["' . implode('", "', $pins_array_in) . '"]' ?>;
var arr_outputs = <?php echo '["' . implode('", "', $pins_array_out) . '"]' ?>;
//Query Inputs
for (var i = 0; i < arr_inputs.length; i++) {
(function(i) {
//alert(arr_inputs[i]);
var req = createHttpRequest();
req.open("GET", "https://mysite.xy/gpio/gpioajaxquery.php?gpio=" + arr_inputs[i], false); //false ceka na vyrizeni
req.setRequestHeader("Content-Type", "text/html; charset=windows-1250");
req.send(null);
//window.alert(req.responseText);
if(req.responseText == '0'){
document.getElementById(arr_inputs[i]).innerHTML='ON';
document.getElementById(arr_inputs[i]).style.color='green';
//document.getElementById(arr_inputs[i]).addEventListener("click", function() { HandleGPIO(arr_inputs[i], 1); }, false);
//document.getElementById(arr_inputs[i]).setAttribute('onclick','HandleGPIO('+arr_inputs[i]+',1)');
document.getElementById(arr_inputs[i]).onclick = function () { HandleGPIO(arr_inputs[i],1); };
}
else if(req.responseText == '1'){
document.getElementById(arr_inputs[i]).innerHTML='OFF';
document.getElementById(arr_inputs[i]).style.color='red';
//document.getElementById(arr_inputs[i]).setAttribute('onclick','HandleGPIO('+arr_inputs[i]+',0)');
document.getElementById(arr_inputs[i]).onclick = function(debug) {
if(debug === true) {
return [arr_inputs[i], 0];
}
else {
HandleGPIO(arr_inputs[i],0);
}
}
//document.getElementById(arr_inputs[i]).onclick = function() { HandleGPIO(arr_inputs[i],0); };
var temp = document.getElementById(arr_inputs[i]).onclick;
}
else{
window.alert('Spatny navratovy kod pro AJAX');
}
})(i)
}
//var arr_outputs = ['9','12'];
//Query Outputs
for (var i = 0; i < arr_outputs.length; i++) {
(function(i) {
var req = createHttpRequest();
req.open("GET", "https://mysite.xy/gpio/gpioajaxquery.php?gpio=" + arr_outputs[i] + "&r=" + Math.random(), false); //false ceka na vyrizeni
req.setRequestHeader("Content-Type", "text/html; charset=windows-1250");
req.send(null);
//window.alert(req.responseText);
if(req.responseText == '1'){
document.getElementById(arr_outputs[i]).innerHTML='ON';
document.getElementById(arr_outputs[i]).style.color='green';
//document.getElementById(arr_outputs[i]).setAttribute('onclick','HandleGPIO('+arr_outputs[i]+',0)');
//document.getElementById(arr_outputs[i]).addEventListener("click", function() { HandleGPIO(arr_outputs[i], 0); },true);
document.getElementById(arr_outputs[i]).onclick = function() { HandleGPIO(arr_outputs[i],0); };
}
else if(req.responseText == '0'){
document.getElementById(arr_outputs[i]).innerHTML='OFF';
document.getElementById(arr_outputs[i]).style.color='red';
//document.getElementById(arr_outputs[i]).setAttribute('onclick','HandleGPIO('+arr_outputs[i]+',1)');
//document.getElementById(arr_outputs[i]).addEventListener("click", function() { HandleGPIO(arr_outputs[i], 1); },true);
document.getElementById(arr_outputs[i]).onclick = function() { HandleGPIO(arr_outputs[i],1); };
}
else{
window.alert('Spatny navratovy kod pro AJAX');
}
})(i)
}
}
function createHttpRequest() {
if (window.XMLHttpRequest) { // code for IE7+, Firefox, Chrome, Opera, Safari
http_request = new XMLHttpRequest();
}
else if (window.ActiveXObject) {
http_request = new ActiveXObject("Microsoft.XMLHTTP");
}
return http_request;
}
</script>
<a id="27" style="cursor: pointer; color:red;">OFF</a>
<a id="27" style="cursor: pointer; color:red;">ON</a>
<a id="21" style="cursor: pointer; color:red;">OFF</a>
<a id="21" style="cursor: pointer; color:red;">ON</a>
<a id="5" style="cursor: pointer; color:red;">OFF</a>
<a id="5" style="cursor: pointer; color:red;">ON</a>
<a id="9" style="cursor: pointer; color:red;">OFF</a>
<a id="9" style="cursor: pointer; color:red;">ON</a>
函数HandleGPIO(gpin,值){
document.getElementById(gpin.innerHTML=“工作”;
document.getElementById(gpin.style.color=“蓝色”;
var req=createHttpRequest();
请求打开(“获取”https://mysite.xy/gpio/gpioajax.php?gpio=“+gpin+”&value=“+value,false);//false ceka na vyrizeni
请求setRequestHeader(“内容类型”,“文本/html;字符集=windows-1250”);
请求发送(空);
如果(req.responseText==0){
QueryGPIO();//查询更新的值
返回true;
}
else if(req.responseText==1){
QueryGPIO();//查询更新的值
返回true;
}
否则{
window.alert('Spatny navratovy kod pro AJAX,chyba:'+请求响应文本);
QueryGPIO();//查询更新的值
返回false;
}
}
函数QueryGPIO(){
//变量arr_输入=['5'、'21'、'27'];
var arr_输入=;
var arr_输出=;
//查询输入
对于(变量i=0;i<meta http-equiv="X-UA-Compatible" content="IE=9"/>