2010-10-27 111 views
1

我即将构建一个Web应用程序,并希望允许其他开发人员使用他们自己的应用程序来扩展它。iFrames中的第三方应用程序?

我应该使用像Facebook这样的iframe吗?

这是一个很好的做法吗?

是否有其他替代方法让其他开发人员扩展我的应用程序(对于用户来说,它看起来像来自我的应用程序)。

具体来说:

我希望开发商能够嵌入在我的web应用程序代码的应用程序。例如。如果我的应用程序中有一个文件,它们可以为用户提供一种与该文件进行交互的方式。也许是一个让用户预览文件的“预览”应用程序。

另一个应用程序可能绘制所有用户文件的思维导图树视图。

这样做的最好方法是什么?

  • 后台数据交换的iFrame + Restful API?
  • 让他们在我的web应用程序的后端+前端+ html + css上插入javascript?
  • 其他选择?

回答

1

如果您的意思是“嵌入”而不是“扩展”,而您只希望人们在页面上放置一个小盒子,那么iframe应该没问题。然而,如果你想双向沟通或mashupability —,而不是“不透明blob的HTML和最好的希望”通信—然后JavaScript或REST API可能是一个更好的电话。

更具体的细节会让答案更容易。如果您需要的功能是嵌入式广告或堆栈溢出级别,那么iframe可以工作,如果功能更符合Google Map的要求,那么某种API可以更好地工作。

+0

请阅读Robusto答案的评论。这不就是Facebook如何使用iFrame应用程序吗?通过这种方式,iFrame应用程序仍然可以与Facebook进行通信,但是在它自己的域名中,因此他们不能在Facebook上破坏任何内容。如果Facebook让人们在Facebook上运行Javascript,这不是一种安全风险吗?这是你的意思吗? – ajsie 2010-10-28 03:54:35

+0

阅读我更新的问题。 – ajsie 2010-10-28 04:03:11

0

这取决于你的意思是“扩展”。当您与第三方一起使用iFrame时,可能是通过与主机页面不同的域名出售的,那么您受到跨域问题的限制,无法与这些iFrame的内容交互。如果这对你来说不是问题,那么你可以继续尝试这个策略,但是我看不到如果不通过互操作性添加iFrame就是“扩展”你的web应用程序。

+0

但这不是Facebook在做什么?他们如何将Facebook域中的数据提供给iFrame域?通过后端? Facebook对服务器端执行ajax - > iFrame应用程序的restful API - > iFrame应用程序显示内容并且用户在iFrame上看到它。 – ajsie 2010-10-28 03:48:29

相关问题