如何在Firefox OS中从sdcard检索和列出数据

时间:2015-04-17 05:54:52

标签: javascript jquery firefox-os

link.onclick = function() {
    console.log("display  started");
    link.style.background = "red";
    link.style.color = "black";
    listContents('music');
}

function listContents(storagename) {
    //Clear up the list first
    //  results.html("");
    var files = navigator.getDeviceStorage(storagename);
    console.log("files object "+files);
    var cursor = files.enumerate();
    console.log("cursore object "+cursor);
    cursor.onsuccess = function () {
        //alert("Got something");
        var file = this.result;
        if (file != null) {
            var imageElement = $('<img height="100" width="75">');
            imageElement.attr('src', window.URL.createObjectURL(file));
            $("<p>" + file.name + "," + file.lastModifiedDate + "," + file.type + "," + file.size  + "</p>").appendTo('#results');
            imageElement.appendTo("#results");
            this.done = false;
        } else {
            this.done = true;
        }

        if (!this.done) {
            this.continue();
        }
    }
}

在这里,点击链接按钮我希望所有音频文件都显示在列表中。给出了一个示例函数,但是它在jquery中。我想使用纯JavaScript实现函数listContents()

有人可以帮忙吗?

1 个答案:

答案 0 :(得分:0)

您应该查看youmightnotneedjquery.com - 特别是Elements部分可能会证明是最有帮助的。

此参考无法立即解决您的问题,但通常可以指向正确的方向。大多数“纯JavaScript”技术(比如DOM方法element.querySelectorAll)都没有返回像jQuery对象那样方便的对象,所以你肯定需要一些黑客攻击,试验和错误才能使它工作 - 但最终我认为这是了解这一点的最佳方式。 :)

了解document.getElementById()document.querySelector()element.innerHTML等功能的一两件事。 element.insertAdjacentHTML()document.createElement() / element.setAttribute()可以帮助您入门。 ;)