Я использую iframe, который добавляется и удаляется со страницы по мере необходимости.Iframe содержит код javascript, который вызывается из родительского документа.
Я обнаружил, что iframe «теряет свое имя», в результате чего он больше не может быть адресован с использованием чего-то вроде:
window.frames['iframename'].function()
Это происходит, когда функция вызывается впервые, а iframe удаляется и снова добавляется.Я всегда могу вызвать функцию хотя бы один раз, независимо от того, сколько раз будет добавлен и удален iframe, и могу вызывать ее много раз, если я не удаляю iframe - но как только была вызвана функция и iframeудаляется и впоследствии добавляется, при попытке вызвать функцию вызывает ошибку, что функция не определена.
Мне удалось обойти это, обратившись к iframe по его индексу, например:
window.frames[2].function()
Но мне не нравится этот вид «жесткого кодирования».
Почему это происходит, и как лучше всего вызывать функции в iframe, не прибегая к использованию индекса iframe?