关于nokia S40开发自带的jquery.jfeed.js
2012-01-29 16:01
155 查看
Nokia WDE新建一个项目的时候会自动带一个范例程序,读取一个RSS feed,然后展示出来。
今天研究了一下,发现RSS feed放在本地后就不好用了,只能读取远程服务器上的。这是为什么呢?
在网上找到了一个新的jquery.jfeed.js,貌似是比nokia包自带的那个更新,换过本身的jquery.jfeed.js就不存在本地还是远程的问题了,这是一个解决办法。
https://github.com/jfhovinne/jFeed/blob/master/build/dist/jquery.jfeed.js
1. 但是还是想研究一下为什么原来的那个不好用。打断点之后发现
console.log("xhr.status is " + xhr.status); 返回的xhr.status是0,而不是200。
搜索了一下找到解决办法是把本地xml文件放在localhost下
http://localhost/test/topstories.xml 代替xml/topstories.xml。这是第一个坑。
2. 这个改过之后发现xhr.status是200了但是还是读不出来feed,然后继续打log发现header的第一个参数是application/xml而不是text/xml,于是
if (arr[0].toLowerCase() == "application/xml") { 代替 if (arr[0].toLowerCase() == "text/xml") { 这是第二个坑。
补充一点关于application/xml和text/xml 的区别 /article/7026708.html,总的来说就是text/xml不支持UTF-8,所以我们基本上要用application/xml
3. 可是新的jquery.jfeed.js为什么不需要把xml放在本地也能解析呢?难道它没有用到XMLHttpRequest?
我想解决办法应该在jquery自己的$.ajax中,现在这个function我还没研究明白
继续。。
jquery.js 8165-8171行
也就是说,相对路径的时候本来status是0,结果强制给status设置成200..
今天研究了一下,发现RSS feed放在本地后就不好用了,只能读取远程服务器上的。这是为什么呢?
在网上找到了一个新的jquery.jfeed.js,貌似是比nokia包自带的那个更新,换过本身的jquery.jfeed.js就不存在本地还是远程的问题了,这是一个解决办法。
https://github.com/jfhovinne/jFeed/blob/master/build/dist/jquery.jfeed.js
1. 但是还是想研究一下为什么原来的那个不好用。打断点之后发现
console.log("xhr.status is " + xhr.status); 返回的xhr.status是0,而不是200。
搜索了一下找到解决办法是把本地xml文件放在localhost下
http://localhost/test/topstories.xml 代替xml/topstories.xml。这是第一个坑。
2. 这个改过之后发现xhr.status是200了但是还是读不出来feed,然后继续打log发现header的第一个参数是application/xml而不是text/xml,于是
if (arr[0].toLowerCase() == "application/xml") { 代替 if (arr[0].toLowerCase() == "text/xml") { 这是第二个坑。
补充一点关于application/xml和text/xml 的区别 /article/7026708.html,总的来说就是text/xml不支持UTF-8,所以我们基本上要用application/xml
3. 可是新的jquery.jfeed.js为什么不需要把xml放在本地也能解析呢?难道它没有用到XMLHttpRequest?
我想解决办法应该在jquery自己的$.ajax中,现在这个function我还没研究明白
继续。。
jquery.js 8165-8171行
// If the request is local and we have data: assume a success // (success with no data won't get notified, that's the best we // can do given current implementations) console.log(!status + " " + s.isLocal + " " + !s.crossDomain); if ( !status && s.isLocal && !s.crossDomain ) { status = responses.text ? 200 : 404; }
也就是说,相对路径的时候本来status是0,结果强制给status设置成200..
相关文章推荐
- 关于在实际开发中遇到的js或者是jQuery方法
- 关于jquery.autocomplete.js自动提示插件中文乱码问题
- NokiaS40和S60开发平台1.0已知问题(翻译)
- 基于jQuery开发的手风琴插件 jquery.accordion.js
- 关于touchTouch.jquery.js浏览图片重复的问题
- 关于Eclipse项目中加入jquery-1.x.js文件报错问题
- $.extend()方法和(function($){...})(jQuery)详解 关于js 的 深入用法。“use strict”
- 如何自己开发一款js或者jquery插件
- 关于Jquery,js脚本加载执行先后顺序的一些事
- 关于在vue中引入jquery或js文件
- css,html,js/jQuery开发小技巧汇总-更新中~
- 关于jQuery的getScript()实现动态js加载,原理,实现过程是怎么样的?
- HTML/CSS/Js/Jquery/PHP网站0基础开发到大神系列【飞鸽学院】
- 关于微信公众号开发【微信JS-SDK】报错:config invalid url domian
- [JS前端开发] js/jquery控制页面动态加载数据 滑动滚动条自动加载事件
- 关于使用jQuery-form.js上传文件的注意事项
- 关于前后端分离开发的方法,jQuery的Mockjax:Ajax请求模拟
- 关于jquery的jquery.zclip.js在使用时隐藏元素失效讨论
- jQuery 关于ajaxfileupload.js插件的逐步解析(ajaxfileupload.js第二弹) 推荐
- js - 关于部分浏览器内置函数console详解(用开发调试的利器)