我正在考虑创建一个Chrome扩展程序,可以(例如)挂钩到Google云端硬盘,在某处插入DOM元素(例如"活动窗格"),并在用户选择文件时显示一些其他信息.
据推测Google Drive使用某种事件驱动的UI模型 - 例如"当用户点击此文件的预览图像时,加载该文件的"活动"详细信息并在窗格中显示它们.但是,它看起来都不是这个记录在任何地方(显然谷歌混淆了它的客户端Javascript).
这些事件是否有某种公共API可以用来执行回调?就像是:
googleDriveUi.on("fileSelect", function(file) {
alert("You have selected " + file.filename);
});Run Code Online (Sandbox Code Playgroud)
我意识到我可以通过实现自己的UI前端然后挂钩到Google Drive 后端 API 来实现相同的结果.如果可以避免的话,我真的不想这样做 - Google Drive UI已经相当不错了,所以没有必要重新发明轮子.
另一种方法是收听Web请求事件.例如,我看到在云端硬盘中点击文件时,会向http:// {google} /appsactivity/v1.1internal/activities?{etcetc}发出请求.扩展程序可能会收听对此URL发出的请求 - 但可能Google可能会随时更改特定的请求终结点,因此这将是一个非常不稳定的解决方案.
任何其他想法将不胜感激.