我使用WebView(Woodwing Reader应用程序)在iPad杂志应用程序中包含HTML页面。 HTML页面的所有文件都与应用程序捆绑在一起。
应用程序的根目录包含一个文件夹[images],其中包含应用程序中每个页面的文件夹子目录(即[page1],[page2],[page3]等)。在根目录中还有主XML文件,它映射页面的布局结构。
我正在尝试构建一个HTML页面,该页面读取[magazine.xml]并通过Twitter,FB等共享内容。我能够将[magazine.xml]中的数据解析为外部网页(这将是用于共享URL),但问题是外部网页无法识别要共享的杂志发布日期。由于每个问题都具有相同的XML文件命名约定[magazine.xml]。
我可以通过javascript在我的共享应用上手动插入发布日期,但我更愿意将其设为自动流程。 XML文件有一个标签[authorate]列出了发布日期,所以我试图通过javascript读取这个标签并将其插入到URL字符串中......但到目前为止,没有成功。
以下是我的javascript示例:
var issue = '08-27-2011';
$(function() {
var src = 'http://www.example.com/sections/ipad/'+section+'/?issue='+issue;
$('<iframe " src="' + src + '" width="100%" height="100%" scrolling="auto" frameborder="0"><\/iframe>').appendTo('#iframe');
});
这是XML结构的示例:
<?xml version="1.0" encoding="UTF-8"?>
<issue domversion="1.0">
<issuedate>08-19-2011</issuedate>
<items>
<item>
<id>111</id>
<category>Story Category</category>
<title>Story Title</title>
<description>Description</description>
<author/>
<pages>
<page>
<horizontalpage>
<objects>
<object>
<id>000111222.1</id>
<type>webview</type>
<x>0</x>
<y>0</y>
<width>1024</width>
<height>768</height>
<link>bundle://images/111/PageID/PageID.html</link>
</object>
</objects>
<pthumb>images/111/PageID_Thumbnail_h.jpg</pthumb>
<ppreview>images/111/PageID_Preview_h.jpg</ppreview>
</horizontalpage>
<verticalpage>
<objects>
<object>
<id>000111222a.1</id>
<type>activeelement</type>
<x>0</x>
<y>0</y>
<width>768</width>
<height>1024</height>
<link>bundle://images/111/PageID/PageID.html</link>
</object>
</objects>
<pthumb>images/111/PageID_Thumbnail_v.jpg</pthumb>
<ppreview>images/111/PageID_Preview_v.jpg</ppreview>
</verticalpage>
</page>
正如我之前提到的,我宁愿自动化收集问题var的过程。我尝试使用以下代码执行此操作,但无济于事:
xmlDoc=loadXMLDoc("../../magazine.xml");
var issue = xmlDoc.getElementsByTagName("issuedate");
$(function() {
var src = 'http://www.example.com/sections/ipad/'+section+'/?issue='+issue;
$('<iframe " src="' + src + '" width="100%" height="100%" scrolling="auto" frameborder="0"><\/iframe>').appendTo('#iframe');
});
如您所见,XML文件驻留在包含javascript文件的目录中的两个目录中。我无法弄清楚如何使这项工作...你的帮助将不胜感激。
谢谢, 卡洛斯
----------------------------------------------- -------------------------------------------&GT;
更新
我在工作的朋友的帮助下弄清楚了。解决方案实际上比我想象的要容易!我只是将HTML页面放在应用程序的根目录中,并使用以下代码调用XML文件:
$(function() {
var issue;
$.ajax({
async: false,
type: "GET",
url: "magazine.xml",
dataType: "xml",
success: function(xml) {
issue = $(xml).find('issuedate').text();
}
});
var src = 'http://www.example.com/ipad/'+section+'/?issue='+issue;
$('<iframe " src="' + src + '" width="100%" height="100%" scrolling="auto" frameborder="0"><\/iframe>').appendTo('#iframe');
});
如您所见,我也可以将'issue'变量传递给URL。
答案 0 :(得分:0)
我实际上回答了我自己的问题(在同事的帮助下),所以这就是:
$(function() {
var issue;
$.ajax({
async: false,
type: "GET",
url: "magazine.xml",
dataType: "xml",
success: function(xml) {
issue = $(xml).find('issuedate').text();
}
});
var src = 'http://www.example.com/ipad/'+section+'/?issue='+issue;
$('<iframe " src="' + src + '" width="100%" height="100%" scrolling="auto" frameborder="0"><\/iframe>').appendTo('#iframe');
});