使用JavaScript修改Windows 8的XML RSS源

使用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;"> <

当前正在为特定站点制作Windows 8 RSS阅读器应用程序。除了视频(通常是YouTube),一切都正常,因为该网站使用
嵌入视频,而不是
。结果只是一个大的空白对象块,视频应该在那里

我的第一反应是找到
标记并将其替换为
,然后用正确的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&amp;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&amp;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

        });