是否可以在EPUB中包含数据XML文件,并使用jQuery和AJAX读取?
我目前正在为一个EPUB文件开发一个交互式HTML5小部件。我们通常使用jQuery来做这些事情 如果我可以在EPUB清单中包含一个XML数据文件,然后使用标准jQuery和AJAX方法从XML文件中读取数据,那么当前的项目就会容易得多 我已经为web应用程序做了一千次了,只是在EPUB文件中做起来有困难 我的主要问题是: 1) 这可能吗 2) 在package.opf中声明数据XML文件时要使用的正确媒体类型是什么 我正在使用以下代码:是否可以在EPUB中包含数据XML文件,并使用jQuery和AJAX读取?,jquery,xml-parsing,epub,Jquery,Xml Parsing,Epub,我目前正在为一个EPUB文件开发一个交互式HTML5小部件。我们通常使用jQuery来做这些事情 如果我可以在EPUB清单中包含一个XML数据文件,然后使用标准jQuery和AJAX方法从XML文件中读取数据,那么当前的项目就会容易得多 我已经为web应用程序做了一千次了,只是在EPUB文件中做起来有困难 我的主要问题是: 1) 这可能吗 2) 在package.opf中声明数据XML文件时要使用的正确媒体类型是什么 我正在使用以下代码: $.ajax({ type: "GET",
$.ajax({
type: "GET",
async: false,
cache: false,
url: "data/test.xml",
dataType: "xml",
error: function() {
alert("ERROR: The table data could not be read...");
},
success: function(objFileContents) {
alert("SUCCESS");
}
);
当我在iBooks中测试时,错误警报一直显示。但是,当我在桌面上用Safari进行测试时,一切都正常
非常感谢您的帮助
谢谢 当jQuery的主要目的之一是跨浏览器兼容性时,人们不得不想知道在EPUB中使用jQuery这样的大型库有什么意义。我强烈建议使用标准的ECMA5/XHTML5技术 无论如何,您当然可以在EPUB中包含一个XML文件并读取它。你有什么困难?最明显的是检查路径。例如,您确定它不应该是
。/data/text.xml
?对于媒体类型,在其他条件相同的情况下,只需使用text/xml
或application/xml
请注意,由于未知原因,某些读取器可能返回值0,即使在读取成功时也是如此。这可能会诱使jQuery报告错误。但是您应该能够访问底层XMLHttpRequest对象的responseText或responseXml字段
我使用了以下代码,它工作得很好:
read=(function(){
var r=new XMLHttpRequest();
return function(src){
r.open('GET', src, false);
r.send();
if(r.status!=200 && r.status!=0){//E-books return 0 for some reason?
//REPORT ERROR
return null;
}
return r.responseText;
};
}())
;
当jQuery的主要目的之一是跨浏览器兼容性时,人们不得不想知道在EPUB中使用jQuery这样的大型库有什么意义。我强烈建议使用标准的ECMA5/XHTML5技术 无论如何,您当然可以在EPUB中包含一个XML文件并读取它。你有什么困难?最明显的是检查路径。例如,您确定它不应该是
。/data/text.xml
?对于媒体类型,在其他条件相同的情况下,只需使用text/xml
或application/xml
请注意,由于未知原因,某些读取器可能返回值0,即使在读取成功时也是如此。这可能会诱使jQuery报告错误。但是您应该能够访问底层XMLHttpRequest对象的responseText或responseXml字段
我使用了以下代码,它工作得很好:
read=(function(){
var r=new XMLHttpRequest();
return function(src){
r.open('GET', src, false);
r.send();
if(r.status!=200 && r.status!=0){//E-books return 0 for some reason?
//REPORT ERROR
return null;
}
return r.responseText;
};
}())
;
这里的答案回答了你的问题,或者没有回答,你没有回答或者接受它们是因为…??这里的答案回答了你的问题,或者没有回答,或者没有接受它们,你没有回答或者接受它们是因为…??对于迟到已久的回答,我很抱歉。是的,这对我也有用。epub一定不喜欢jQueryAjax实现中的某些东西。非常感谢。很抱歉,我们早该回复了。是的,这对我也有用。epub一定不喜欢jQueryAjax实现中的某些东西。非常感谢。