Итак, у меня есть страница, в которой будет отображаться любой enewsletter (чистый html) из папки под названием «enews». Когда пользователь нажимает на этот список, страница html будет отображаться в iframe (до сих пор в той же странице)jquery не может получить доступ к iframe при первой попытке
<ul><li><a class="iframesrc" href="/enews/today.html" target="viewcontent">Today</a></li>
<li><a class="iframesrc" href="/enews/yesterday.html" target="viewcontent">Yesterday</a></li>
</ul>
<iframe id="viewcontent" name="viewcontent"></iframe>
ENews HTML в страница не сделанные мной, так что я не полный контроль, как страница будет. и все файлы все еще находятся в одном домене.
Поэтому я могу отображать html-страницу внутри iframe без проблем. Единственное, что хочет мой босс, - это сделать каждую гиперссылку внутри этой html-страницы открытой в новой вкладке/окне.
Конечно, я могу просто добавить «target = _blank» на страницу enewsletter html, но это невозможно, так как у нас их более 100, я не могу это сделать вручную, а также ответственное лицо У меня есть навыки программирования, поэтому он фактически меняет содержание html.
Теперь, так или иначе, чтобы это произошло?
Я попытался использовать jquery для доступа к содержимому внутри iframe (для добавления), но он не работает достаточно хорошо.
<script>
$(document).ready(function() {
$('a.iframesrc').click(function() {
console.log("clicked enewslink");
var link = $(this).attr("href");
console.log(link);
$("#viewcontent").attr("src",link);
$("#viewcontent").ready(function() {
var content = $("#viewcontent").contents().find("body").html();
console.log(content);
});
});
});
</script>
Итак, когда страница загружена, и я нажимаю «сегодня», консоль ДЕЛАЕТ получить ссылку HREF, но «содержание» плавающий фрейм пусто плюс IFrame ДЕЛАЕТ отображение правильного содержания. Когда я нажимаю «вчера», консоль может получить ссылку href, но на этот раз «содержимое» iframe является распечаткой (на консоли), а iframe также отображает правильный контент.
Почему браузер не может перенести ссылку на первый клик?
Спасибо и любая помощь с благодарностью.
EDIT: На первый щелчок:
на второй клик:
Только текущий документ имеет 'ready' обработчика, ваш плавающий фрейм элемент does not ** имеет готовый обработчик. – adeneo
@adeneo привет, я удалил эту часть, и это не имеет значения. спасибо – user2960754