在网页中嵌入 Web Widget(?)

Mat*_*ttH 5 asp.net ajax jquery

我们的客户在我们提供的服务器上创建小型 Intranet 应用程序。服务器还包含我们创建的各种(基于 windows/.net 的)系统。

我们需要为我们的客户提供一段“单行”代码,让他们能够将功能嵌入到他们的网页中。类似于 Google Ads 嵌入网站时的工作方式。一个细微的区别是我们的需要每 5 秒左右刷新一次。我们将创建几个这样的“小部件”,供他们放置在他们的页面中。

我们所有的开发都在 .Net 中,所以我更喜欢这方面的选择,但我对任何事情都持开放态度。

早期的研究指向 IFrame,可能使用 Ajax,或 JavaScript、JQuery 和 Web 服务,或使用通过“Document.Write”返回 HTML 的 IHttpHandler (像这样)

推荐?

Wic*_*ick 1

简而言之,Iframe 很简单,因为它们消除了与客户网站的任何可能的冲突。这非常重要,除非您还管理客户的网站,以便控制插入小部件的环境。

否则,如果您将小部件代码直接嵌入到客户端的网站(不使用 Iframe),则可能会导致与客户端的 HTML、CSS 或 Javascript 发生冲突。您可以编写小部件代码,这样就不会发生冲突,但您通常不能依赖他们的网页代码。只要您的客户网站上写得不好,就会导致您的嵌入式小部件出现问题。CSS 是一个简单的例子。假设你的客户在他们的样式表中有一些愚蠢的东西,比如:

div { background-color: red; }
Run Code Online (Sandbox Code Playgroud)

...除非您使用更具体的选择器为小部件中使用的所有 div 指定了背景属性,否则它们现在是红色的。

我认为制作小部件的最佳方法是为您的客户端提供一个外部脚本引用,该引用在脚本 URL 中传递客户端 ID。您的脚本从 document.write() 开始 - Iframe - 这样您将来就可以控制小部件(包括 iframe)的各个方面,而无需客户进行任何更改。