如果我的内容类型是网址,是否可以在我的JavaScript代码中使用gadgets.*
?
答案 0 :(得分:1)
您可以使用Proxied Content功能。这样,您就可以访问从您自己的服务器获取的内容中的小工具。*
<Module>
<ModulePrefs title="My App">
<Require feature="opensocial-0.9"/>
</ModulePrefs>
<Content view="canvas" href="http://www.example.com/myapp/canvas/index.html">
</Content>
</Module>
答案 1 :(得分:1)
根据OpenSocial规范(至少从0.8及更高版本开始),应该在内容URL参数中传递指向所请求功能的JavaScript库的相对路径链接。在OpenSocial规范中搜索关键字“libs”以获取更多信息。
问题仍然是URL中给出的路径是相对的,而不是绝对的,您需要知道基本URL附加此参数的位置。讨论主题here建议使用基本网址“https://www-gm-opensocial.googleusercontent.com/gadgets/js/”并按原样附加“libs”的值,但我已经没有成功验证。我们用于在iGoogle上获取OpenSocial小工具库的代码(具有jQuery支持)是:
var libsMatch = window.location.search.match(/[?&]libs=([^&]*)/);
if (libsMatch) {
var libArray = libsMatch[1].split(",");
$.each( libArray, function(i, val) {
$.ajax( {
url: "http://www.google.com/ig/f/" + val,
dataType: 'script'
} );
} );
}
但请注意,并非所有API都以这种方式提供,例如,gadgets.io。*无法以这种方式启用,其他API需要进行测试。