2016-02-15 3 views
1

У меня есть внешний веб-сайт, который я использую для обработки платежей. Я хотел бы создать модальный диалог в Lead Form, который позволяет пользователю обрабатывать платеж. Я в настоящее время использую Alert.js создать модальное, но это не удается загрузить с Error Cross Site Scripting:Как открыть модальный диалог на внешний сайт в Dynamics CRM?

DOMException: Failed to read the 'contentDocument' property from 'HTMLIFrameElement': Blocked a frame with origin " https://MyCrmOnlineOrg.crm.dynamics.com " from accessing a cross-origin frame.

Интересно то, что я могу на самом деле отладки JavaScript на внешнюю страницу (она будет загружена и работает с инструментами разработчика F12), но после того, как я получу ошибку, «Загрузка» Gif никогда не исчезает ...

Я могу загрузить его правильно, как IFrame, до тех пор, пока я снимаю флажок «Ограничить крест» -frame scripting, где поддерживается ". Есть ли способ сделать это для модального вызова Alert.js? Есть ли другой способ сделать это?

+0

Вы пробовали обернуть свою внешнюю страницу на веб-ресурсе html с помощью iframe в CRM, а затем открыть веб-ресурс с помощью alert.js? –

+0

@BojanBorisovski Я думал об этом, единственная проблема заключается в том, что флажок «Ограничить межкадровый скриптинг, где поддерживается» установлен на iFrame в форме, а не на webresource, поэтому я не вижу в этом ничего полезного. – Daryl

+0

Флажок «Ограничить межкадровый сценарий, где поддерживается», просто запрещает выполнение скриптов на странице, помещенной в iframe, если вы его проверили, чем javascript на этой странице, когда загрузка в вашей форме не будет запущена. Например, i iframed после страницы, которая запускала событие печати. Этот флажок предотвратил это. Если вы поместите его в веб-ресурс html через iframe, этот флажок не имеет значения, так как у вас будет контроль над тем, как вы хотели бы встроить эту страницу на свой веб-ресурс. –

ответ

1

Альтернативы Ограничить клещ ящик для вопросов XSS будет:

-хорошо, если ваш внешний сайт является веб-сервисом вы может вызывать с веб-ресурса JS, что не так. 2 не требует веб-службы, это технология обмена сообщениями между документами, но для этого требуется, чтобы вы редактировали код JS веб-сайта внешнего, поскольку он должен разрешать запрос из вашего домена.

+0

Привет, Хорди! Я установил веб-сайт, на котором CORS Enabled был доступен для доступа к нашей среде CRM, и это было бесполезно, что после повторного чтения вашего ответа вы сказали бы, что это не сработает. Я не уверен, как HTML5 MessageChannel будет работать с CRM. У вас будет простой пример? – Daryl

Смежные вопросы