对 Ember 应用程序进行反射/自省,以查找特定模型的实例
Reflection/introspection on an Ember application to find instances of a specific model
首先,我不想了解Ember的一切。我只想在现有的 Ember 应用程序上使用它来提取有关应用程序状态的信息。
我正在开发一个Chrome扩展程序,让用户从Vine网站下载"原始"Vine视频。
Vine基本上是一个Ember应用程序。您可以轻松地使用 Ember Inspector 扩展来侦测应用程序,并从应用程序状态的深处手动提取视频 URL。
似乎没有可靠的方法来仅使用 DOM 提取这些 URL,因为 Vine 使用"blob URL"。所以我的想法是,我会做一些类似于 Ember 内省器正在做的事情,在应用程序上使用反射/内省。
如何从内容脚本访问 Ember 应用程序(及其状态)?
通过评论,您对Chrome扩展程序相当熟悉,您的问题归结为"Ember Inspector如何在高层次上工作"。
同样,从评论中可以清楚地看出,Ember Inspector采用了一种有时称为"注入脚本"或"页面级脚本"的技术。
内容脚本可以在页面中插入 <script>
标记,这将破坏内容脚本所在的独立上下文,并将在页面的上下文中执行。因此,您可以访问 Ember 的所有"内部":您现在处于相同的 JS 上下文中。您可以查看此问题以了解注入此类脚本的方法。
剩下的问题是如何在注入的脚本和内容脚本之间进行通信,因为注入的脚本不再有权访问Chrome API。例如,这可以通过自定义事件来完成。
相关文章:
- Ember.js:通过绑定/模型查找DOM元素
- Ember.js按名称查找模型项,然后将其添加到现有的不同模型hasMany记录中
- CanJS 模型查找全部返回重复项的列表
- 查找何时完成多个回调时的编程模型
- 对 Ember 应用程序进行反射/自省,以查找特定模型的实例
- mongoDB:在具有父引用的模型树结构中查找缺失的文档
- 查找在主干集合中没有属性的模型
- EmberJS无法调用方法'查找'保存模型时未定义的
- 如何查找该模型是新的还是没有属性:主干
- 如何在集合中查找特定模型属性的总和
- 如何设置具有可选ID的路由以进行查找,以及回退默认模型
- sails.js:如何在模型中查找项目
- js查找从webapi控制器返回的第一个数据属性的模型
- 查找集合上的模型
- Ember嵌套模型:从模型中查找和删除子元素
- JQuery -查找模型[n].FieldName和添加值
- SharePoint 2010客户端对象模型+使用Javascript设置多个查找字段的值
- 按键查找模型
- Emberjs模型查找方法不填充模板
- 在 Backbone 中查找模型.js按 cid 而不是 id 收集