Я думал, что я смогу сделать это, установив контекст функции JQuery быть документом IFRAME, что-то вроде:Я хотел бы манипулировать HTML внутри фрейма с помощью JQuery
$(function(){//document ready
$('some selector', frames['nameOfMyIframe'].document).doStuff()
});
Однако это не работает. Немного осмотра показывает, что переменные в кадрах ['nameOfMyIframe'] не определены, если я не жду некоторое время для загрузки iframe. Однако при загрузке iframe переменные недоступны (я получаю разрешение на отказ от ошибок типа).
Кто-нибудь знает способ обойти это?
Похоже, вы получаете укусила [Same Origin Policy] (http://en.wikipedia.org/wiki/Same-origin_policy). –
У вас есть контроль над документом в iframe? – Gareth
Если у вас возникли проблемы с правами доступа, я предполагаю, что содержимое iFrame находится в домене, который отличается от того, где находится ваш собственный код, не так ли? Если это так, вы пытаетесь сделать что-то, что по дизайну не может быть сделано. Вам нужно будет изучить * междоменный Javascript * (см. Комментарий Хамиди). Надеюсь, это поможет вам найти направление для решения вашей проблемы. Если и ваша страница, и содержимое iFrame находятся в одном домене, то не обращайте внимания на то, что я только что сказал. – Renan