访问跨域iframe元素(例如在Optimizely中)

时间:2019-04-11 05:57:18

标签: javascript iframe optimizely

我希望能够使用前端的javascript从跨域iframe手动选择文本。

我知道要达到这样的结果非常困难,因为如果我决定使用100%的javascript解决方案,则需要使用postMessage。我开放使用后端解决方案(php或nodejs)

最佳地可以访问页面中的任何dom元素,我想了解他们的工作方式。是因为用户需要首先在其网站上安装窗口小部件?如果是,它到底如何工作?

这是一个例子: example

1 个答案:

答案 0 :(得分:1)

摘录自#2 of this answer

  

假设您要在http://www.mypage.com上创建实验... Optimizely编辑器将http://www.mypage.com加载到iframe中,并使用window.postMessage与页面进行通信。仅当该页面上已经有[[<script src="//cdn.optimizely.com/js/XXXXXX.js"></script>]之类的代码片段时,此方法才有效。如果不是这种情况,编辑器将在等待来自iframe页面的消息时超时,并将通过实际将代码段插入页面的代理再次加载。通过此加载过程,编辑器可以处理以下内容的页面。包含一个帐户摘要b。不包含帐户摘要,或c。坐在防火墙后面(需要代码段)。