Когда я исполняю ниже тестовой HTML страницы в Chrome, я вижу следующее в консоли отладки:parentNode теряется при закрытии Javascript? Ошибка Chrome?
Has parent? true
Has parent? false
я прав, полагая, что это ошибка Chrome (это не происходит в других браузерах), или Chrome по праву может это сделать по какой-то причине? Это привело к ошибке в одном из моих веб-приложений, и я, наконец, изолировал этот фрагмент, чтобы воспроизвести основную проблему.
Вот тестовая страница:
<!DOCTYPE HTML>
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body class="">
<script>
function testDoodle() {
var testParentEl = document.createElement('div');
var testChildEl = testParentEl.appendChild(document.createElement('div'));
document.body.innerHTML+=('Has parent? ' + !!testChildEl.parentNode+'<br>');
console.log('Has parent? ' + !!testChildEl.parentNode);
setTimeout(function() {
document.body.innerHTML+=('Has parent? ' + !!testChildEl.parentNode+'<br>');
console.log('Has parent? ' + !!testChildEl.parentNode);
},
2000);
return;
}
testDoodle();
</script>
</body>
</html>
EDIT: Я должен отметить, что я тестирую на Windows 7 с Chrome 49.0.2623.87 м (64-разрядная версия). Также был способен воспроизвести OSX 10.11.2 с Chrome 49.
Кроме того, я должен упомянуть, что иногда он отображает true/true, а иногда и true/false. Возможно, вам придется перезагрузить страницу несколько раз, чтобы засвидетельствовать проблему. Я не уверен, но возможно, что инструменты отладки (консоли) также должны быть открыты.
Большое спасибо.
Работает для меня в Chrome 48 OSX – elclanrs
Я не могу воспроизвести (Chrome 48.0.2564.109). Вы уверены, что 'testParentEl' не изменен между вызовами? – Bergi
Я должен был упомянуть, что тестирую Windows 7 с Chrome 49.0.2623.87 м (64-разрядный). Кроме того, я должен упомянуть, что иногда он отображает true/true, а иногда и true/false. Возможно, вам придется перезагрузить страницу несколько раз, чтобы засвидетельствовать проблему. Я не уверен, но возможно, что инструменты отладки (консоли) также должны быть открыты. – logidelic