Ошибки «0:« Открыть »не определено» и «SCRIPT1005: SCRIPT1005: Ожидается» («Как я могу исправить эти ошибки? - PullRequest
0 голосов
/ 07 января 2020

Проблема с одним кликом только в Microsoft edge.

enter image description here

function closepage(){
	var Modal = document.getElementById('Modal');
	var Modalparent = null;
	try{ Modalparent = ((Modal.parentElement) ? Modal.parentElement : ((Modal.parentNode) ? Modal.parentNode : null));}catch{return;}
	if(Modalparent == null)return;
	Modalparent.removeChild(Modal);
	document.getElementsByTagName('body')[0].className = "";
}

1 Ответ

0 голосов
/ 08 января 2020

Необходимо указать аргумент catch, например, в Edge:

try{
  ...
} catch(error){
  ...
}

try{...}catch{...} без аргумента называется Необязательная привязка перехвата , которая не поддерживается от Edge.

Итак, пример кода, который может работать, выглядит следующим образом:

function closepage() {
  var Modal = document.getElementById('Modal');
  var Modalparent = null;
  try {
    Modalparent = ((Modal.parentElement) ? Modal.parentElement : ((Modal.parentNode) ? Modal.parentNode : null));
  } catch (error) {
    return;
  }
  if (Modalparent == null) return;
  Modalparent.removeChild(Modal);
  document.getElementsByTagName('body')[0].className = "";
}
<div id="Modal">Modal</div>
<button onclick="closepage()" type="button">test</button>
...