如何让我的iframe的其他网站可以访问javascript?

时间:2014-04-24 04:52:07

标签: javascript html iframe cross-domain cors

我正在制作媒体播放器类型的应用程序,其他网站开发人员可以将其嵌入到他们的网站上。我需要为他们提供一组javascript函数,他们可以从他们网站的其他部分调用它们。我有一个带有外部接口的swf文件,因此我要求它在iframe中加载。

如何让我的iframe中的javascript可以从外部访问?

我看到了x-frame-options,但它的allow-from指令不适用于chrome和safari。我有什么选择?

2 个答案:

答案 0 :(得分:1)

HTML5的方式是postMessage

如果你不能依赖它在HTML5环境中的使用,(a)真的很难过,(b)你可以使用Porthole

答案 1 :(得分:1)

您似乎想为youtube等视频播放器提供嵌入式代码 有两个选项可以直接向其他网站开发人员提供I帧代码,因此他们只需将代码粘贴到其页面中即可。

<iframe width="560" height="315" src="//website.com/videoid={videoid}" frameborder="0" ></iframe>

在iframe页面目标中,您可以创建登录信息并输入视频代码,html和javascript ..

另一个选项

如果您想使用javascript,他们必须将您的javascript包含在他们的页面中,并且在您的javascript中,您必须使用javascript实现登录以创建I-frame并动态地为iframe src提供..

在这种情况下,你绝对可以使用javascript访问你的I帧内容因为你的javascript和I-frame属于同一个域你可以阅读更多同样的orign政策 Same Origin

修改 这里有一些简单的代码如何使用JAVASCRIPT创建I-FRAME

<script type='text/javascript' charset='utf-8'>     
   var iframe = document.createElement('iframe');       
   document.body.appendChild(iframe);

   iframe.src = 'URL OF CONTENT YOU WANT TO PROVIDE';       
   iframe.width = 'THE WIDTH YOU WANT';
   iframe.height = 'THE HEIGHT YOU WANT';
</script>