检索IBM Connections 4上的外部iwidget的Javascript,但不触发事件(onView)

时间:2013-01-04 16:29:41

标签: widget ibm-connections ibm-sbt

我有一个部署在Connections环境之外的iWidget。 这个iWidget在WebSphere Portal 8(iWidget Wrapper)中运行。 可以将iWidget添加到社区并加载初始文本。

永远不会调用onView()或其他事件,导致iWidget显示初始消息,而'div'永远不会被替换。我已经以不同的方式更改了javascript的src,./ javascript one,是最新的。

Firebug显示通过社区/代理上下文根成功检索js(widget.xml)。

这是iWidget XML:

<iw:iwidget id="365DocsWidget" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"     xmlns:iw="http://www.ibm.com/xmlns/prod/iWidget" supportedModes="view edit" mode="view" lang="en" iScope="365DocsWidgetScope" sandbox="false" allowInstanceContent="true"><iw:itemSet id="pref"><iw:item id="documentlist" value="https://fire3ice.sharepoint.com/sites/demo4if/_api/Web/Lists(guid'cca56100-1f15-461b-92f3-d1da80ba1ca8')"/></iw:itemSet><iw:resource src="./javascript/365DocsWidget.js" /> <iw:content mode="view"><![CDATA[<div id="ROOT_DIV">Hello World, last time this widget was updated:  2013-01-04 16:07:17</div>]]></iw:content><iw:content mode="edit"><![CDATA[<div id="EDITMODE_DIV">Hello Edit World</div><div><input type="button" name="selectDocumentList" value="selectDocumentList" onclick="iContext.iScope().changeDocumentList()" /> </div> ]]></iw:content></iw:iwidget>

这里可以公开访问widget.xml: https://eog-fire-ice.appspot.com/365DocsWidget.jsp

3 个答案:

答案 0 :(得分:1)

这可能是由于iWidget的Javascript资源未被识别为Javascript而因此未加载。 你可以在JS文件的响应中设置Content-Type application/javascript吗?

答案 1 :(得分:1)

当我在JavaScript文件中输入拼写错误时,我也看到了这一点。请浏览JavaScript文件,确保没有丢失的逗号或分号。

答案 2 :(得分:0)

xml和js之间存在不匹配。

  1. xml中的iScope是“365DocsWidgetScope”
  2. 在你的js中声明的对象是“J365DocsWidgetScope”(在https://eog-fire-ice.appspot.com/javascript/365DocsWidget.js中)
  3. 将“J365DocsWidgetScope”替换为“365DocsWidgetScope”应该可以解决问题。