JQuery Force устанавливает атрибут src для iframe
У меня есть главная страница (на самом деле JSP) с iframe внутри нее:
<iframe name="abc_frame" id="abc_frame" src="about:blank" frameborder="0" scrolling="no"></iframe>
Теперь на главной странице есть несколько ссылок (динамически передается через JSP), которые могут попытаться установить src на какой-то URL-адрес...
Теперь я задаю вопрос, используя jQuery (может быть live()), могу ли я переопределить это так, чтобы атрибут "src" для abc_frame всегда имел определенное значение (например, "somefixedURL" )
Я не могу зафиксировать щелчок ссылки, так как он полностью динамически создается через некоторый Java-код, и поэтому я пытаюсь переопределить iframe src?
Ответы
Ответ 1
Используйте attr
$('#abc_frame').attr('src', url)
Таким образом вы можете получить и установить каждый атрибут тега HTML. Обратите внимание, что существует также .prop()
. См. .prop() vs .attr() об отличиях. Краткая версия: .attr()
используется для атрибутов, поскольку они написаны в исходном коде HTML, а .prop()
- для всего, что JavaScript привязан к элементу DOM.
Ответ 2
если вы используете jQuery 1.6 и выше, вы хотите использовать . prop(), а не .attr():
$('#abc_frame').prop('src', url)
См. этот вопрос для объяснения различий.
Ответ 3
При создании ссылок установите цель в свойство имени iframes, и вам, вероятно, вообще не придется иметь дело с jquery.
<a href="inventory.aspx" target="contentframe" title="Title Inventory">
<iframe id="iframe1" name="contentframe" ></iframe>
Ответ 4
$(document).ready(function() {
$('#abc_frame').attr('src',url);
})
Ответ 5
<script type="text/javascript">
document.write(
"<iframe id='myframe' src='http://www.example.com/" +
window.location.search + "' height='100' width='100%' >"
)
</script>
Этот код берет url-параметры (? a = 1 & b = 2) со страницы, содержащей iframe, и привязывает их к базовому url iframe. Это работает для моих целей.
Ответ 6
Значение атрибута src не работает для меня.
В iframe не отображался URL-адрес.
Что для меня работало:
window.open(url, "nameof_iframe");
Надеюсь, что это поможет кому-то.
Ответ 7
Вы не можете установить FIX iframe src или запретить javascript/form submit изменять свое местоположение. Однако вы можете поставить script на загрузку страницы и изменить действие каждой динамической ссылки.
Ответ 8
$(".excel").click(function () {
var t = $(this).closest(".tblGrid").attr("id");
window.frames["Iframe" + t].document.location.href = pagename + "?tbl=" + t;
});
это то, что я использую, для этого не требуется jquery. в этом конкретном сценарии для каждой таблицы, у которой есть значок экспорта excel, принудительно привязывает iframe к этой таблице, чтобы загрузить ту же страницу с переменной в строке запроса, которую ищет страница, и если найденный ответ выписывает поток с excel mimetype и включает данные для этой таблицы.