Мне нужен ключ объекта для нацеливания на другой элемент, но ключ не сохраняется.
Я использую этот код на: https://www.instagram.com/explore/
Консоль инструментов разработчика
> Object.keys(document.getElementsByClassName('client-root')[0].ownerDocument.links[0])
>(2) ["__reactInternalInstance$2xpvrubm5hi", "__reactEventHandlers$2xpvrubm5hi"]
Расширение Chrome
var generatedKey = Object.keys(document.getElementsByClassName('client-root')[0].ownerDocument.links[0])[1];
console.info(generatedKey); // undefined
Я застрял. Любая идея приветствуется.
На самом деле я следил за кодом, и в консоли Chrome он работает.
ownerDocument любого элемента будет самим документом, поэтому код не имеет смысла. В настоящее время он эквивалентен Object.keys(document.links[0])[1], но поскольку элементы DOM не имеют собственных ключей, список ключей будет пустым, поэтому ничего не будет возвращено. Тем не менее, если вы действительно получаете результат в консоли, это означает, что вам нужно Вставьте код в контекст страницы с помощью скрипта содержимого
Object.keys (document.links [0]) [1] работает в консоли, но по-прежнему возвращается в расширении undefined. Спасибо за упрощение.
Объясните словами, что именно вы пытаетесь сделать и каковы ожидаемые результаты.
Эти ключи добавляются сценарием страницы, поэтому вы не можете получить к ним доступ напрямую из изолированного мира сценариев содержимого, см. Тему, на которую я ссылался, для решений: Вставьте код в контекст страницы с помощью скрипта содержимого
Я работаю над ботом для комментариев для Instagram с использованием расширения Chrome, и мне нужно это значение, чтобы настроить таргетинг на другое свойство формы комментария.
@wOxxOm Это сработало, большое вам спасибо.



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Совершенно непонятно, чего вы пытаетесь достичь. Пахнет XY проблема. Уделите несколько минут, чтобы прочитать Как спросить и минимальный воспроизводимый пример