如何從使用Javascript添加到iGoogle網站的小工具獲取獨特的Google小工具ID?Google小工具唯一ID
3
A
回答
4
如果你想在小工具中使用JavaScript訪問一個小工具的ID,你可以使用__MODULE_ID__
。這由具有實際模塊ID的iGoogle服務器自動替換,並在許多標準庫中用作公共構造函數參數(請參見Gadgets API Reference)。
如果您使用的new gadgets API(OpenSocial的規範的一部分,目前只在iGoogle中的iGoogle沙箱),那麼你有另一種選擇:gadgets.Prefs.getModuleId()
2
我不是100%肯定你的意思,但似乎對谷歌小工具的網址是這樣的:http://hosting.gmodules.com/ig/gadgets/file/unique_id/name.xml ...,和谷歌正與他們的JavaScript完成後,他們將增加一個<一> -tag帶有onclick屬性,其中包含其他此網址。 所以,也許你可以嘗試從頁面抓取所有<a> -tags(with class delbox),並使用onclick屬性的正則表達式來獲取唯一ID。你只需確保你的代碼在Google之後執行。
像這樣的東西可以工作(未測試):
/**
* Grabs the id of a Google Gadget from an iGoogle page.
*
* @param name the name of the targeted Google Gadget. If omitted the first
* Gadget is used
* @return the id of the targeted Google Gadget or null if it could not be found
*/
function grab_id (name) {
var links = document.getElementsByClass("delbox");
var url = "http://hosting.gmodules.com/ig/gadgets/file/";
var id_length = 21;
var regex = url + "[\d]{" id_length} + "}/" + name;
for (var i = 0; i < links.length; i++) {
var match = links[i].getAttribute("onclick").match(regex);
if (match) {
return match.substring(url.length+1, url.length+1+id_length);
}
}
return null;
}
相關問題
- 1. Google Reader的Feed唯一ID
- 2. dojo小工具Id衝突
- 3. Google CDN for jquery小工具
- 4. Google小工具刷新
- 5. 工作項目ID或唯一ID
- 6. Chrome阻止Javascript,Google Wave,Google小工具
- 7. 查詢Google App Engine中的唯一ID
- 8. 小工具。類型爲url的首選項Google小工具
- 9. Google桌面小工具與雅虎小工具
- 10. 具有唯一ID的部分視圖
- 11. 如何解析JSON具有唯一ID
- 12. 具有唯一ID的Java反射
- 13. 選擇具有唯一ID的行
- 14. 具有唯一的ID克隆DIV不工作
- 15. Android唯一ID
- 16. 唯一ID
- 17. 如何知道點擊小工具ID?
- 18. qooxdoo創建特定ID的小工具
- 19. 小工具的ID和意圖
- 20. Google搜索Like小工具示例
- 21. Google Wave小工具:gadgets.window未定義
- 22. Google小工具中的Restlet GWT
- 23. 製作Google(Blogger)小工具iframe透明
- 24. 測試Google小工具簡介
- 25. 在Mac上開發Google小工具
- 26. Google小工具和外部腳本
- 27. 如何從具有唯一ID的行中獲取ID?
- 28. Google小工具/電子表格:獲取小工具的電子表格密鑰
- 29. 全球唯一的Google雲端硬盤文件ID是唯一的嗎?
- 30. 彈性Db工具和唯一索引