Как вызвать событие из содержимого iframe на внешний веб-сайт?

Я работаю над чат-ботом, который предназначен для работы со всеми доменами. предположим, что у меня есть сторона чат-бота под «chat.mybot.com» (iframe) (сделано на angular), а мой веб-сайт — «example.com», здесь я не могу слушать события «chat.mybot.com» (iframe ) с «example.com», потому что он находится в разных доменах.

Решение, если оно было в том же домене

$('iframe#chat_bot').load(function(){
  $(this).contents().find("body").on('click','#showthat',function(event){ 
    alert("div with id 'showthat' clicked inside iframe"); 
  });
});

Проблема

Как мне это сделать в случае междоменной ситуации?

Я немного изучил и взглянул на другие приложения для чата, но до сих пор не могу понять, как это сделать.

Любые предложения или мысли приветствуются.


person Rameez Rami    schedule 05.06.2018    source источник
comment
Я думаю, что iframes должны быть независимыми и изолированными, особенно в междоменной ситуации. Вы, вероятно, не можете запускать события между кадрами.   -  person Pal Kerecsenyi    schedule 05.06.2018
comment
Возможный дубликат Инициировать пользовательское событие из iframe в родительский документ   -  person Pal Kerecsenyi    schedule 05.06.2018
comment
@PalKerecsenyi: я не думаю, что это повторяющийся вопрос, если вы отметите (тот же протокол, тот же хост, тот же порт). в другом вопросе, вы бы поняли ... я ищу другое решение для домена ... которое я четко упомянул в вопросе ... я могу решить его, если бы он был в том же домене с кодом, который я показал в вопросе.   -  person Rameez Rami    schedule 06.06.2018


Ответы (1)


Это может помочь вам.

parent.$('body').trigger('eventName');

Событие, вызванное внутри iframe, будет обнаружено в родительском документе.

OR

$('#InnerIframe').contents().find('#SuperWebF1').trigger( "click" );

InnerIframe - ID of IFrame
SuperWebF1 - ID of the button
person sree    schedule 05.06.2018