使用JavaScript修改Windows 8的XML RSS源
当前正在为特定站点制作Windows 8 RSS阅读器应用程序。除了视频(通常是YouTube),一切都正常,因为该网站使用使用JavaScript修改Windows 8的XML RSS源,javascript,iframe,windows-8,rss,Javascript,Iframe,Windows 8,Rss,当前正在为特定站点制作Windows 8 RSS阅读器应用程序。除了视频(通常是YouTube),一切都正常,因为该网站使用嵌入视频,而不是。结果只是一个大的空白对象块,视频应该在那里 我的第一反应是找到标记并将其替换为,然后用正确的URL添加src属性。我创建了一个虚拟应用程序来测试这个方法是否有效,如果您所更改的只是静态HTML,那么解决方案是否有效 虚拟应用程序代码: <body> <div style="text-align: center;"> <
嵌入视频,而不是
。结果只是一个大的空白对象块,视频应该在那里
我的第一反应是找到
标记并将其替换为
,然后用正确的URL添加src属性。我创建了一个虚拟应用程序来测试这个方法是否有效,如果您所更改的只是静态HTML,那么解决方案是否有效
虚拟应用程序代码:
<body>
<div style="text-align: center;">
<object width="853" height="480" id="test">
<param name="movie" value="http://www.youtube.com/v/2rDs7W3WRIk?version=3&hl=en_US"></param>
<param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param>
<embed src="http://www.youtube.com/v/2rDs7W3WRIk?version=3&hl=en_US" type="application/x-shockwave-flash" width="853" height="480" allowscriptaccess="always" allowfullscreen="true"></embed>
</object></div>
当用户单击缩略图时,相应文章的XML RSS提要将被拉出来,并以id=“articlecontent”注入到中。我想在注射之前修改这个提要
<section id="content">
<div id="articlelist" data-win-control="WinJS.UI.ListView"
data-win-options="{ itemDataSource: mmoNewsPosts.ItemList.dataSource, itemTemplate: MMOItemTemplate }"></div>
<!-- Article Content -->
<div id="articlecontent"></div>
<!-- Article Content -->
</section>
编辑,因为看起来有点混乱,我已经通过WinJS.xhr加载了提要:
function downloadMMOFeed(FeedUrl) {
WinJS.xhr({ url: FeedUrl, responseType: "xml" }).then(function (rss) {
pageTitle = rss.responseXML.querySelector("title").textContent;
mainTitle.innerHTML = pageTitle;
var items = rss.responseXML.querySelectorAll("item");
//more stuff...
for (var n = 0; n < items.length; n +=1) {
article.content = items[n].querySelector("description").textContent;
//more stuff...
函数下载mmofeed(FeedUrl){
xhr({url:FeedUrl,responseType:“xml”}){
pageTitle=rss.responseXML.querySelector(“title”).textContent;
maintTitle.innerHTML=页面标题;
var items=rss.responseXML.queryselectoral(“项”);
//更多的东西。。。
对于(变量n=0;n
您是否可以通过XHR加载XML提要,然后在将其绑定到页面之前解析结果?例如:
WinJS.xhr({
url: "http://www.w3schools.com/xml/note.xml", responseType: "xml"
})
.done(
function (request) {
var text = request.responseText;
//TODO : Parse the XML returned by the server which is in var text
});
在Windows 8中,没有跨域限制,因此完全可以执行类似操作。在主JS文件的其他地方已经有一个非常类似的函数,它使用WinJS.xhr。我想我找到了解决方案;明天有时间时将发布更新。
function downloadMMOFeed(FeedUrl) {
WinJS.xhr({ url: FeedUrl, responseType: "xml" }).then(function (rss) {
pageTitle = rss.responseXML.querySelector("title").textContent;
mainTitle.innerHTML = pageTitle;
var items = rss.responseXML.querySelectorAll("item");
//more stuff...
for (var n = 0; n < items.length; n +=1) {
article.content = items[n].querySelector("description").textContent;
//more stuff...
WinJS.xhr({
url: "http://www.w3schools.com/xml/note.xml", responseType: "xml"
})
.done(
function (request) {
var text = request.responseText;
//TODO : Parse the XML returned by the server which is in var text
});