Изменить src у iframe javascript'ом

418
04 апреля 2017, 09:53

Здравствуйте! Подскажите, пожалуйста, правильно ли я решаю вопрос:

Есть пару полей на странице и Яндекс.кнопка. Кнопка - это iframe (это так у Яндексов). В src этого iframe куча параметров. Но один из этих параметров нужно задавать "на лету", в процессе заполнения пользователем полей на странице. Я прописал в нем изначально что-то заметное, а потом - меняю на то, что нужно. Получилась вот такая громоздкая конструкция:

$('#frame').attr(
   'src', 
   document.getElementById('frame').src.replace('JS-REPLACE-ID', data)
);

Мне не нравится, что часть команды написана на jQuery, а часть - на простом JS. Но по-другому она не работает. Что я делаю не так?

Answer 1

Вы показали рабочий вариант, но не показали нерабочий, так что сказать "что не так" трудно. Пробуйте:

На jQuery:

var myFrame = $('#myframe'); 
myFrame.attr('src', myFrame.attr('src').replace(/blank/, 'bank'));
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> 
<iframe id="myframe" src="about:blank"></iframe>

На Vanilla.js

var myFrame = document.getElementById('myframe'); 
myFrame.setAttribute('src', myFrame.getAttribute('src').replace(/blank/, 'bank'));
<iframe id="myframe" src="about:blank"></iframe>

READ ALSO
Смена селектора на разных блоках js

Смена селектора на разных блоках js

Всем приветКак по нажатию кнопки "Выбрать" на одном блоке, data-background-color стали smoke на двух других? Код сдесь: https://codepen

236
Какой display у элемента со свойством float?

Какой display у элемента со свойством float?

Интересен следующий момент:

276
Проблемы с модальным окном CSS

Проблемы с модальным окном CSS

Добрый вечер, У меня есть такая проблема, при нажатии на кнопку которая появляется при hover ел-та родителя вылазит модальное окно, а после его...

283