【发布时间】:2011-11-17 06:51:16
【问题描述】:
基本上,我的应用程序位于社交网络中,在我的应用程序页面中,他们创建了一个 iframe,其(不是我的)URL 指向 “renderer”,然后使用(不要问如何)我的代码(html, js) 并放置在此 iframe 的 body 标记中。
由于我需要能够运行 iframe 的 JavaScript 函数,我决定不使用我的应用程序 URL 创建另一个 iframe,而是使用 ajax 调用将我的应用程序的内容加载到其 iframe 的正文中。这样我就可以运行他们的 JavaScript 函数。如果我要在他们的 iframe 中创建我的 iframe,那么由于跨域的东西我无法运行它们,对吧?
但是,当我使用 jQuery 对我的应用程序执行 ajax 调用时,它们是从社交网络执行的(因为 iframe 是他们的,只是我的正文代码),因此保存在我的应用程序域中的会话 cookie 对 ajax 不可用来自这个 iframe 的调用。
我认为我需要在社交网络的 iframe 中创建一个 iframe (dooh),但是如何克服跨域问题以访问父 iframe 中的 JavaScript 函数?
P.S. 抱歉,解释太长了。想给大家讲清楚。
【问题讨论】:
-
如果您尝试使用 AJAX 获取正文内容的 URL 位于另一个域中,恐怕由于跨域策略,这是不可能的
-
好的,这很清楚。那么是否有可能以某种方式克服跨域策略来调用父 iframe 函数?我有限(但仍然)控制了父 iframe。
标签: javascript cookies iframe cross-domain