繁体   English   中英

如何在Dart2js中使用JavaScript Polyfills

[英]How to use javascript polyfills with dart2js

我想将indexedDB polyfill与Dart代码一起编译为Javascript。 当我仅添加必需的脚本时,dart2js代码无法将window.indexedDB属性识别为IDBFactory实例,并产生UnknownJavaScriptObject拦截器。

我试图在indexedDB元素上强制使用indexedDB ,从indexedDB开始:

    var shimIndexedDB = {
        /**
         * Force correct constructor name.
         */
        constructor: function IDBFactory(){},

        /**
         * The IndexedDB Method to create a new database and return the DB
         * @param {Object} name
         * @param {Object} version
         */
        open: function(name, version){

这是前进的一步,拦截器是正确的。 不幸的是,当我向IDBOpenDBRequest添加类似的构造时,其对象也获得了IDBFactory拦截器。

如何正确连接对象和拦截器?

您可以改用Grassdart库吗?

它在本地存储,索引数据库和websql之上提供了一个通用API。

从文档:

您可以使用此库来帮助处理各种各样的客户端存储选项。 您应该能够根据Lawndart界面编写代码,并使它在支持以下至少一种功能的浏览器上运行:本地存储,索引数据库和websql。

要使indexeddb javascript polyfill正常工作,您需要通过dart:js interop调用其API。 这可能比使用草皮之类的图书馆要复杂得多。 这是有关使用dart:js互操作的文章

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM