我们即将实施一堆OpenSocial小工具。它们不会在Facebook或任何其他社交网络上运行,而是在我们自己的内部Apache Shindig服务器上运行。 (我们使用iframe在普通的ASP.NET MVC cshtml视图中嵌入这些小工具)
根据http://docs.opensocial.org/display/OSREF/OpenSocial+Tutorial,小工具的结构如下:
<?xml version="1.0" encoding="UTF-8" ?>
<Module>
<ModulePrefs title="Hello World!">
<Require feature="opensocial-0.8" />
</ModulePrefs>
<Content type="html">
<![CDATA[
Hello, world!
]]>
</Content>
</Module>
HTML,CSS和JS嵌入在标记中。如果我们想在Visual Studio中以XML格式开发这样的文件,则无法进行语法高亮显示,IntelliSense,IntelliTrace和JavaScript调试。那不太舒服。
问题1:您是否知道Visual Studio的任何可用(!)扩展为这些OpenSocial XML小工具重新启用所有这些功能?
问题2:或者如果没有,有没有人尝试过相同的方法,找到解决这些障碍的好方法?
更新:我们已经完成了使用构建后步骤的概念验证,该步骤采用纯HTML文件,普通JS文件和XML框架,并将它们合并到小工具中。在调试模式下,我们可以想象直接包含普通文件,而在部署过程中我们使用合并后的XML文件调用Shindig:
if (@Html.IsDebugMode())
{
<iframe src="/Gadgets/HelloWorld.html"/>
}
else
{
<iframe src="http://example.org/shindig?url=http://example.org/Gadgets/Merged/HelloWorld.xml"/>
}
这就是解决方案的工作原理:
<Content>
。<script src="HelloWorld.js" />
替换HTML中的脚本包含<script>...</script>
和相应的代码。优点:
注意事项:
理想情况下,在调试模式下运行应用程序时,HTML或JS文件中的每个更改都会立即更新合并的Gadget XML文件,从而即使在使用Shindig时也可以进行生命编辑。
答案 0 :(得分:-1)
A2:您可以在单独的js文件中开发javascript,并将其包含在小工具xml中,就像html文件包含js include一样。此外,您可以在小工具html中使用框架,但这可能会阻止您使用Shindig提供的某些js API。