Heute wurde ein Fehler gemeldet, der besagt, dass eine Funktion auf einer Seite nicht verwendet werden kann. Öffnen Sie die Konsole und finden Sie einen Fehler: Objekt ist keine Funktion.
Es fühlt sich sehr seltsam an. Diese Funktion wurde in letzter Zeit nicht berührt. Warum verursacht sie plötzlich Probleme? Als es online ging, wurden alle gängigen Browser getestet.
Obwohl es seltsam ist, löst es dennoch das Problem. Als ich mir den Code ansah, stellte ich fest, dass das Namensattribut eines Radioobjekts denselben Namen hat wie ein Funktionsname. Der Code lautet wie folgt:
<body> <input type="radio" name="test" onclick="test();"/> <br/> <form action=""> <input type="radio" name="test" onclick="test();"/> </form> </body> <script type="text/javascript"> function test(){ alert("11"); } </script>
Der Funktionsname wurde geändert und das Problem gelöst. Die Grundursache wurde jedoch nicht gefunden, da der Funktionsname zuvor so lautete und normal verwendet werden konnte. Code ändern
onclick="alert(test);"
Ich habe festgestellt, dass „object HTMLInputElement“ aufgetaucht ist und der Browser den Test in ein Dom-Objekt analysiert hat.
Nach dem Skripttest ist die Funktion warning(test) immer noch eine Funktion.
Als ich mir die SVN-Version ansah, stellte ich fest, dass ich ein Formular zum Einschließen des Radios hinzugefügt hatte, als ich eine andere Funktion ausführte. Dies führt zu Fehlern beim Parsen des Browsers.
Zusammenfassung: Der Code, der nicht geändert wurde, stellt möglicherweise kein Problem dar. Möglicherweise haben die Änderungen andere Probleme verursacht. Einige Browserkompatibilitätsprobleme werden durch Codeunregelmäßigkeiten verursacht. Sie müssen Code in Zukunft auf standardisierte Weise schreiben!
Wenn ein Experte weiß, warum nach dem Hinzufügen eines Formulars ein Browser-Parsing-Problem auftritt, können Sie es mir sagen. Vielen Dank!