`
sbfivwsll
  • 浏览: 63469 次
  • 性别: Icon_minigender_1
  • 来自: 四川
社区版块
存档分类
最新评论

ie8下使用JSON让人吐血的问题(三场由html头文件引发的“血案”)

 
阅读更多

我们开发环境在局域网内部。

 

一、我们以前做的一个项目要支持IE8兼容,但是发现一个JSON对象在调用toJSONString()时,将空字符("")转成了一个字符串"null",最初怀疑是json对象内写的东西有问题,就使用vs 2010打开js调试,加了海量的断点,结果在

if (!Object.prototype.toJSONString) {
Object.prototype.toJSONString = function (filter) {
return JSON.stringify(this, filter);
};
Object.prototype.parseJSON = function (filter) {
return JSON.parse(this, filter);
};
}

这个地方卡住了,弄死都调不进去,最后没折了,alert(JSON.stringify)一下这个东西。。。显示

function stringify() {
[native code]
}

知道这个是浏览器的本地方法,但是不知道json为啥为打印出这个东东,然后在这里卡了几个小时。

最后在json.js里边的

if(!this.JSON)

{

//json源码,在这里边添加的json对象处理。

}

这断代码之上添加了一个断点,调试了一个

结果惊奇地发现代码运行到这里时,JSON居然不是空的,而是一个存在的东西(由于其是ie8内置的对象,所以看不了里边的代码----此时俺还没意识到ie8自带了json对象),然后打开myeclipse的搜索,全工程搜索json这个字符串,一个一个地看后,发现都不是,人当时就懵了。

最后看json的源代码,在引用前将JSON置为null,问题解决。

 

回家后,发现死活都正常""转换后还是"",而不是"null",不知道是不是因为家里的ie8打了补丁的原因。

最后说明一下:只要添加了doctype头,在ie8的非兼容模式下就会引用ie8自带的JSON对象。

 

二、一年半以前,当时将我们的页面引入第三方业务页面,而写的测试页面没有添加头引用,导致页面解析混乱,当时还不知道原因,在没办法的情况下,投入了两个开发人员专门对这些错误的样式进行修订。。。都修订了好几天,才发现添加头文件完全可以解决这个问题。。。可想而知,这几天的劳动。。。

 

三、一个月以前,做一个ie8兼容,div死活居中不了,在ie6,7下都没问题,单独写出来后,拿到firefox下也没有问题,郁闷了好久,最后发现也是头文件引起浏览器异常解析,添加后问题解决。

 

分享到:
评论

相关推荐

    c++解析json头文件

    c++解析json头文件

    JSON头文件下载 用于objective-c中的json解析

    这些头文件通常定义了接口和方法,让你能够在项目中导入并使用JSON解析的功能。例如,可能有一个名为`JSON.h`的头文件,其中包含了如`JSONObjectWithData:`和`dataWithJSONObject:`等方法的声明。 在实际项目中,...

    MFC使用json11解析JSON

    接下来,在MFC项目的`stdafx.h`文件中包含json11的头文件,以便在整个项目中使用该库: ```cpp #include "json11.hpp" ``` 然后,假设你有一个JSON字符串,你可以使用json11的`Json::parse`函数将其解析为C++对象...

    c++ json文件读写操作,只需头文件,泛型操作

    要使用这个库,你需要下载`nlohmann/json.hpp`头文件并将其引入你的项目中。 ```cpp #include "nlohmann/json.hpp" using json = nlohmann::json; ``` 接下来,我们将探讨如何实现读取和写入JSON文件的功能。假设...

    C++ 读写 json 所需头文件和库文件

    C++ 读写 json 所需头文件和库文件 包含 vc11(VS2012)\vc14(VS2015) 所编译的 x86\x64, debug\release 版本 使用时只需要包含相应的头文件和库文件即可

    读取json文件需要的头文件和lib

    头文件是包含函数声明、类定义和其他编译时需要信息的文件,对于`jsoncpp`来说,主要的头文件可能有`json/json.h`,这个文件包含了所有你需要的接口来操作JSON对象。在你的代码中,你可能需要像这样引入它: ```cpp...

    MFC/VC控制台下使用json库

    - 将库头文件(.h)包含在需要使用JSON功能的源代码文件中,通常通过`#include`指令实现。 2. **配置MFC应用**: - 如果你是在MFC应用程序中使用JSON,确保已经创建了消息映射(message map)和消息处理函数。MFC...

    jsoncpp,C++json头文件

    `json.h`可能是jsoncpp库中一个具体的JSON数据结构或解析器的实现头文件,它可能定义了如`Json::Value`这样的JSON值类型,以及相关的操作方法,比如解析JSON字符串、序列化到JSON字符串、访问和修改JSON对象等。...

    STC8 寄存器头文件

    与标准的8051单片机使用的reg51.h头文件相比,STC8xxxx.H头文件包含了STC8系列特有的寄存器和功能定义,使得开发者能够充分利用这些额外的功能。 STC8系列单片机的特点主要体现在以下几个方面: 1. **增强型8051...

    C++ json库头文件

    标题提到的“C++ json库头文件”通常指的是用于C++开发的JSON库的头文件,这些头文件包含了库的接口定义,开发者可以通过包含这些头文件在自己的代码中使用库的功能。 描述中提到了“直接将解压后的头文件放到C++...

    json文件包,内含三个文件

    标题中提到的"json文件包"是一个包含与JSON相关的资源的压缩文件,内有三个文件:jsoncpp.cpp、json.h和json-forwards.h。这些文件是JSONCPP库的一部分,JSONCPP是一个用C++实现的开源JSON库,它提供了解析和生成...

    STC8系列头文件

    STC8系列头文件是专为STC8微控制器设计的编程接口定义文件,这些头文件包含了用于编写C或C++程序的函数原型、宏定义和其他相关声明。STC8系列是STC公司生产的一系列单片机,以其低功耗、高性能和易于开发的特点在...

    GSON相关头文件与json的解析库

    它的语法简洁且易于人阅读和编写,同时也容易让机器解析和生成。GSON是Google开发的一个Java库,它允许将Java对象转换为JSON字符串,以及将JSON内容反序列化为等效的Java对象。这个库因其高效和全面的功能而备受青睐...

    json.hpp头文件

    json.hpp,导入这个头文件,可以直接定义json,个人感觉比jsoncpp好用

    整个代码由一个头文件组成 json.hpp,没有子项目,没有依赖关系,没有复杂的构建系统,使用起来非常方便

    整个代码由一个头文件组成 json.hpp,没有子项目,没有依赖关系,没有复杂的构建系统,使用起来非常方便 - 语法直观,就像写普通的c++代码 - 不止用起来似c++习惯和风格,更是使用 C++ 11 标准编写 - 使用 json 像...

    json 库源码,头文件

    总结起来,JSON库源码中的头文件是理解和使用JSON数据的关键,它们定义了处理JSON的各种功能。在ruckig轨迹规划库中,这些功能被用于构建和解析与在线API交互时的JSON数据,确保高效且可靠的通信。了解并熟练使用...

    C语言头文件 MEM C语言头文件 MEM

    C语言头文件 MEMC语言头文件 MEMC语言头文件 MEMC语言头文件 MEMC语言头文件 MEMC语言头文件 MEMC语言头文件 MEMC语言头文件 MEMC语言头文件 MEMC语言头文件 MEMC语言头文件 MEMC语言头文件 MEMC语言头文件 MEMC语言...

    C语言头文件 PSHPACK8

    C语言头文件 PSHPACK8C语言头文件 PSHPACK8C语言头文件 PSHPACK8C语言头文件 PSHPACK8C语言头文件 PSHPACK8C语言头文件 PSHPACK8C语言头文件 PSHPACK8C语言头文件 PSHPACK8C语言头文件 PSHPACK8C语言头文件 PSHPACK...

    C语言头文件 NB30 C语言头文件 NB30

    C语言头文件 NB30C语言头文件 NB30C语言头文件 NB30C语言头文件 NB30C语言头文件 NB30C语言头文件 NB30C语言头文件 NB30C语言头文件 NB30C语言头文件 NB30C语言头文件 NB30C语言头文件 NB30C语言头文件 NB30C语言...

    C语言头文件 MATH C语言头文件 MATH

    C语言头文件 MATHC语言头文件 MATHC语言头文件 MATHC语言头文件 MATHC语言头文件 MATHC语言头文件 MATHC语言头文件 MATHC语言头文件 MATHC语言头文件 MATHC语言头文件 MATHC语言头文件 MATHC语言头文件 MATHC语言...

Global site tag (gtag.js) - Google Analytics