【发布时间】:2018-11-14 22:37:30
【问题描述】:
我正在开发旨在与所有域一起使用的聊天机器人。假设我在“chat.mybot.com”(iframe)下有一个聊天机器人端(在角度上完成)并且我的网站是“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");
});
});
问题
跨域情况下怎么办?
我进行了一些研究并查看了其他聊天应用程序,但仍然无法清楚地知道如何操作。
感谢任何建议或想法。
【问题讨论】:
-
我认为iframe应该是独立的和隔离的,尤其是在跨域的情况下。您可能无法跨框架触发事件。
-
@PalKerecsenyi :如果您检查“(相同的协议,相同的主机,相同的端口),我不认为这是重复的问题。”在其他问题中,您会理解..我正在寻找不同的域解决方案..我在问题中明确提到过..如果它与我在问题中显示的代码在同一个域中,我可以解决它。
标签: javascript angular iframe iframe-app