2010-10-27 113 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

相關問題