Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/462.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
Javascript 无法在受支持的Microsoft Edge版本上工作_Javascript_Html_Css_Browser_Microsoft Edge - Fatal编程技术网

Javascript 无法在受支持的Microsoft Edge版本上工作

Javascript 无法在受支持的Microsoft Edge版本上工作,javascript,html,css,browser,microsoft-edge,Javascript,Html,Css,Browser,Microsoft Edge,我有下面的代码,它利用了mutationobserver,它在浏览器chrome、firefox、opera中工作,但不在浏览器边缘 var MutationObserver = window.MutationObserver || window.WebKitMutationObserver || window.MozMutationObserver; var observer = new MutationObserver(function(mutations) { mutati

我有下面的代码,它利用了mutationobserver,它在浏览器chrome、firefox、opera中工作,但不在浏览器边缘

  var MutationObserver = window.MutationObserver || window.WebKitMutationObserver || window.MozMutationObserver;
  var observer = new MutationObserver(function(mutations) {

   mutations.forEach(function(mutation) {

     if (mutation.type === 'childList') {
     if(mutation.target.innerHTML == 'Online - Chat Us'){
       //if button text changes from "Offline" to "Online - Chat Us"
       if(mutation.removedNodes[0].nodeValue === 'Offline' && mutation.addedNodes[0].nodeValue === 'Online - Chat Us'){
         //change top button to "Online - Chat Us" && false the disabled attribute.
         document.getElementById('mySecondButton').innerHTML = mutation.addedNodes[0].nodeValue;
         document.getElementById('mySecondButton').disabled = false;
     }
 }
     }else if(mutation.type === 'characterData'){
     //console.log(mutation);      
     }
   });
 });
仅在调试器的边缘浏览器中,我收到以下错误:SCRIPT5007:SCRIPT5007:无法获取未定义或空引用的属性“nodeValue”,该属性正在引用这行代码
if(mutation.target.innerHTML==='Chat Now'){

从下面的图表中,我可以看出我使用的是受支持的版本

edge浏览器版本的屏幕截图


在Edge中,innerHTML、innerText和textContent更改导致的不是一条而是两条变异记录:一条用于删除旧节点,另一条用于插入新节点。所有其他浏览器只有一条变异记录,其中包含一条删除的节点和一条插入的节点。我对脚本进行了一些空检查,以缩小变异范围离子只记录到一个,很好。你的调试器显示了什么吗?(F12)@calculuswhiz我收到以下错误:SCRIPT5007:SCRIPT5007:无法获取未定义或空引用的属性'nodeValue',如果(mutation.target.innerHTML=='Chat Now',它将引用此行{想知道它是否与内部Html有关你在做什么来触发突变?@calculuswhiz只要跨度内的文本发生更改,当前就会触发它。我将用for循环替换foreach..祝贺。我建议你在48小时后尝试将自己的答案标记为这个问题的可接受答案,当它可供mark使用时。它可以在将来帮助其他社区成员解决类似问题。感谢您的理解。