У меня возникла проблема при привязке атрибута src к iframe во время выполнения.
iframe data-bind = "visible: $root.someBoolProp(), attr:{src:$root.someProp}" /iframe
Когда я делаю console.info ($ root.someProp), он регистрирует правильный URL. (https: // dev-платеж ....)
Я не уверен, что после разрыва представления он выдает ошибку ниже с добавлением URL-адрес localhost к фактическому URL-адресу iframe.
Сообщение об ошибке:
Отказался отображать «http: // localhost: 62489 / en / hoapayment /% 22 https://dev-payment-ui.azurewebsites.net/something%22» во фрейме, потому что он установил для «X-Frame-Options» значение «deny».
Может кто-нибудь дайте мне знать, как я могу решить эту проблему.
someProp также поддерживает протокол. Когда я использую console.info(), я вижу полный URL-адрес вместе с протоколом.
Это зависит от того, где вы выполняете console.info () и где вы его фактически используете. Похоже, что URL-адрес устанавливается как относительный (URL-адрес вашего веб-сайта + URL-адрес из root.someProp). Также попробуйте $ root.someProp () со скобками в конце.
Еще одна вещь, которую я хотел бы добавить сюда: когда я пытаюсь передать URL-адрес непосредственно в iframe SRC, я могу видеть загрузку страницы в iframe. console.info('Payment URL: ',paymentUrl); frame.attr('src', 'https://dev-payment-ui.azurewebsites.net....'); ... Но когда я передаю переменную в SRC, я получаю указанную выше ошибку console.info('Payment URL: ',paymentUrl); frame.attr('src', paymentUrl);



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Проблема заключалась в формате URL. URL-адрес, который входит в состав paymentUrl, похож на "" https: // dev-платеж ... "". Поэтому мне нужно удалить лишний ".
Спасибо за ответы.
Может быть,
somePropсодержит URL без указанного протокола? см. этот ответ.