Asp.net 在网页中嵌入Web小部件(?)

Asp.net 在网页中嵌入Web小部件(?),asp.net,jquery,ajax,Asp.net,Jquery,Ajax,我们的客户在我们提供的服务器上创建小型intranet应用程序。服务器还包含我们创建的各种(基于windows/.net的)系统 我们需要为我们的客户提供一段“一行”代码,使他们能够将功能嵌入到他们的网页中。类似于谷歌广告嵌入网站时的工作方式。稍有不同的是,我们需要每5秒左右刷新一次。我们将为他们创建几个“小部件”以放置在他们的页面中 我们所有的开发都在.Net中,所以我更喜欢这方面的选择,但我对任何事情都持开放态度 早期的研究指向IFrame,可能使用Ajax、JavaScript、JQuer

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

我们需要为我们的客户提供一段“一行”代码,使他们能够将功能嵌入到他们的网页中。类似于谷歌广告嵌入网站时的工作方式。稍有不同的是,我们需要每5秒左右刷新一次。我们将为他们创建几个“小部件”以放置在他们的页面中

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

早期的研究指向IFrame,可能使用Ajax、JavaScript、JQuery和webservice,或者使用通过“Document.Write”返回HTML的IHttpHandler


建议?

简单地说,iFrame很容易,因为它们消除了与客户网站的任何可能冲突。这一点至关重要,除非您还管理客户机的网站,以便控制要将小部件插入其中的环境

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

div { background-color: red; }
…除非您使用更具体的选择器为小部件中使用的所有div指定了background属性,否则它们现在是红色的

我认为最好的方法是给你的客户端一个外部脚本引用,在脚本URL中传递一个客户端ID。您的脚本以document.write()开始,即对Iframe进行初始化,这样您就可以在将来控制小部件(包括Iframe)的各个方面,而不必对客户端进行任何更改