1

我正在使用 Dojo 1.7 构建一个离线应用程序,使用 Dojo RDD,动态生成表单并将它们存储在缓存中。现在每次当我通过 ajax 获取某些东西时,我都必须删除 dojo 注册表,因为如果我不清除注册表,dojo 会通过 id 绑定小部件,这将导致解析 dojo 小部件时出现问题,因为它们的 id 已经存在于小部件注册表中,但是当我每次都清除注册表时它会导致另一个问题。一切正常,但结果内容仅在单击页面上的任何位置时出现。与以下描述相同:

在点击鼠标之前,动态元素不会出现在 IE8 中

但是,在这种情况下,这个问题出在 Chrome 上。

并且上面 url 中提供的解决方案在这种情况下不起作用。

经验:

//在某些情况下,注册表是析构函数不被调用。

dojo.xhrGet({

        url: serverUrl,
        content: {},
        load: function(result) {

            //destroying widget registry.(before any parsing)
            dijit.registry._destroyAll();

            // here is html processing.
        },

        error: function(error) {
            utility.handleException(error);
        }
    });
4

0 回答 0