嵌入内容 - 使用iFrame,JS / jQuery,还是什么?

时间:2011-04-23 01:21:17

标签: javascript jquery asp.net

这有点复杂,首先是一个小背景:

我们正在重新设计一个我们在内部应用程序中使用的视频平台,我们的客户也可以使用视频传输。我们的目标是让客户能够轻松地将内容嵌入到他们自己的网站上,正如您所期望的那样。到目前为止,我们已经给出了一个单行脚本标记来执行此操作,就像这样,它会将玩家放在页面上:

<script src="http://vod.nimbushd.com/player/player.ashx?mediaItemAssetId=8413adeb-6b15-4606-a771-637527539093&h=480&w=720" type="text/javascript"></script>

Sample Page with the script above

这只是一个ASP.NET处理程序,它返回一些Javascript,然后为播放器呈现一些HTML。

这对于玩家来说效果不错,但现在又重新设计了。

我们现在针对不同的浏览器类型针对不同的播放器,在没有Silverlight的情况下回放HTML5,以及其他一些铃声/口哨声。我们的一个重要功能是能够通过add'l视频库,Disqus评论,Twitter / Facebook分享/类似按钮为玩家提供服务;基本上,无论这些是应该在客户网站上本地生活的理念,我们需要能够设计更复杂的功能并为他们提供最简单的嵌入式

我想有一种想法是我们几乎需要一个行为类似于嵌入式内容的iFrame(没有滚动条,大小调整等)。

我们正在抛弃诸如更复杂的Javascript呈现HTML之类的想法,这些想法可能无法快速维护,高级功能是否应该只是Rich内容(Silverlight / Flash),或者是否存在像jQuery部分这样的中间内容页面刷新或其他什么。

希望向已经走过这条道路的一些人学习 - 作为最终用户,您希望如何嵌入内容作为内容提供商,您如何以嵌入形式提供该内容?

1 个答案:

答案 0 :(得分:0)

就个人而言,我更喜欢一行脚本来包含这个

<script src="..." type="text/javascript"
   data-container="someId"
   data-otherParam="..."
   data-beforeLoad="someFunction"
   ...
></script>

将所有配置选项作为html5数据属性传递将是最方便的。如果我们可以传入一个你要调用的函数名称,以便在必要时为最终用户提供更多控制,那也很棒。

至于你的实际代码是做什么的。我建议您让脚本执行所有逻辑,并让它对Web服务进行JSONP调用以获取所需的任何数据。至于HTML渲染,我建议您使用任何模板引擎并引用模板文件直接从服务器直接加载它们或在必要时通过JSONP加载它们。

至于嵌入您的实际数据/ html选择<div>或创建一个新模板并将部分模板呈现给<div>的子项。

或者,您可以沿着简单的路线走,然后让用户嵌入<iframe>。这个解决方案不太好。