如何使用此代码在单片机电子书阅读器中制作下一个和上一个按钮?

时间:2014-06-12 05:17:45

标签: javascript filereader monocle

我为下一个和上一个按钮创建了这个功能,换句话说,我的html页面中有2个按钮,当我点击下一个或上一个时,单片眼镜中的页面也会相应移动, 我读到我必须使用自定义页面翻录器,但他们没有提供如何创建一个的示例。

这是我尝试过的失败:

function fileSelected(event,str) {

    var thefile = document.getElementById('file');
    var tval = thefile.value;
    var ext = tval.split('.').pop();
    var files = event.target.files;
    var fname = tval.split(/(\\|\/)/g).pop();


   if (ext == "epub" || ext == "EPUB"){
        function createReader(bookData) {
            Monocle.Reader("reader", bookData);
        }
        new Epub(files[0], createReader);

   }else if(ext == "htm" || ext == "htm" || ext == "html" || ext == "HTML"){

        var bookData = {
            getComponents: function () {
                return [
                    fname
                    ];
            },
            getContents: function () {
                return [
                    {title: "test", src: fname}
                    ]
            },
            getComponent: function (componentId) {
                return {url:componentId};
            },
            getMetaData: function(key) {
                return {
                    title: "Test documents",
                    creator: "Aron Woost"
                    }[key];
            }
        }
                window.reader = Monocle.Reader('reader', bookData);

   }else{
        return false;
   }


}
function next(){    
    Monocle.Reader('reader', {}, {}, function (reader) {
      reader.moveTo({ direction: 1 });
    });
}

单击“下一步”将在我的控制台中显示未定义的错误。

如何实现自定义页面翻页器的任何想法?

https://github.com/joseph/Monocle/wiki/Page-flippers

我在JS中并不精通。抱歉:(

1 个答案:

答案 0 :(得分:4)

我认为问题出在这个变量声明块中:

var thefile = document.getElementById('file');
var tval = thefile.value;
var ext = tval.split('.').pop();
var files = event.target.files;
var fname = tval.split(/(\\|\/)/g).pop();

是否有适用“值”属性的输入字段,例如<input type="text" id="file">

你确定文件名肯定会有一个点,即扩展名?

同样event.target.files看起来很可疑。

如果没有任何问题,请告诉控制台显示错误的哪一行。您可以双击错误以突出显示错误的行。