grunt混淆代码报xmldomparser错误

大象      2022-02-12     489

关键词:

项目在浏览器中可正常运行,但是Grunt混淆时报错。
介绍中说是IE 不支持 DOMParser 对象。IE中使用 Document.loadXML()的 XML 解析。
于是改为Document.loadXML方法解决。
怀疑Grunt不支持DOMParser方法

_Widget.xml = (function($) {
   var xml = {
      xmlToJson: function(xml, key) {
         var childNodes, result;
         if(key) {
            var keys = key.split("->");
            for(var i = 0; i < keys.length; i++) {
               if(i == 0) {
                  childNodes = xml.getElementsByTagName(keys[i])[0];
                } else {
                  childNodes = childNodes.getElementsByTagName(keys[i])[0]
               }
            }
         } else {
            childNodes = xml;
         }
         xml = childNodes;
         return parse(xml);
         function parse(xml) {
            var obj = {};
             if(xml.nodeType == 1) { // element
                  obj["@attributes"] = {};
                    for(var j = 0; j < xml.attributes.length; j++) {
                         var attribute = xml.attributes.item(j);
                         obj["@attributes"][attribute.nodeName] = attribute.nodeValue;
            }
               }
            } else if(xml.nodeType == 3) { 
                obj = xml.nodeValue;
            }
          
            if(xml.hasChildNodes()) {
               for(var i = 0; i < xml.childNodes.length; i++) {
                  var item = xml.childNodes.item(i);
                  var nodeName = item.nodeName;
                  if(typeof(obj[nodeName]) == "undefined") {
                     obj[nodeName] = parse(item);
                  } else {
                     if(typeof(obj[nodeName].length) == "undefined") {
                        var old = obj[nodeName];
                        obj[nodeName] = [];
                        obj[nodeName].push(old);
                }
                     obj[nodeName].push(parse(item));
                }
               }
            }
            return obj;
 }
      },
    jsonToxml: function(json){
         if(document.all){
            var xmlDom = new ActiveXObject("Microsoft.XMLDOM");
            xmlDom.loadXML(json);
            return xmlDom;
          }else{
            return new DOMParser().parseFromString(json, "text/xml");
          }
      }
   };
 return xml;
})(Zepto);

调用:

                    var xml = _Widget.xml.jsonToxml(res.msg);
                    var json = _Widget.xml.xmlToJson(xml);
                    var status = json["soap:Envelope"]["soap:Body"]["DoActionResponse"]["DoActionResult"]["#text"];
                    var text = json["soap:Envelope"]["soap:Body"]["DoActionResponse"]["ls_output"]["#text"];
                    if(status == 1){
                        waitHandleView.EventDataChanged.notifyEvent(waitHandleView, {
                            "data": JSON.parse(text)
                        });
                        NavigationView.pushView("waitHandleView")
                    }else{
                        _Widget.load.show({
                            txt: text || "没有获取到患者信息",
                            top: 640,
                            time: 5
                        });
                    }

谈谈javascript代码混淆

...相关技术点和大概流程原理:代码优化的意义:压缩优化混淆优化:如何完善Cesium打包流程关键字:Cesiumgulpuglifyjs字数:2330|阅读时间:7min+1Cesium打包流程      如果没有记错,Cesium从2016年初对代码构建工具... 查看详情

android代码混淆后打包报错问题,第三方库导致。(代码片段)

Android代码混淆后打包报错问题,第三方库导致,防止APP反编译前言开启混淆代码基本指令更加详细内容请参考以下博客内容前言为了防止APK被反编译,我们需要打包时代码混淆,但混淆后代码有时会混淆你项目中... 查看详情

折腾一两天,终于学会使用grunt压缩合并混淆js脚本,小激动,特意记录一下+spm一点意外收获

很长时间没有更新博客了,实在是太忙啦...0.0,以下的东西纯粹是记录,不是我原创,放到收藏夹还担心不够,这个以后常用,想来想去,还是放到这里吧,,丢不了..最后一句废话,网上搜集也好原创也罢,能解决问题不糊弄人... 查看详情

Grunt.js,警告:无法写入“src”文件(错误代码:EISDIR)

】Grunt.js,警告:无法写入“src”文件(错误代码:EISDIR)【英文标题】:Grunt.js,Warning:Unabletowrite"src"file(Errorcode:EISDIR)【发布时间】:2014-01-2415:01:53【问题描述】:我有一个用CoffeeScript写的Gruntfile,当cssmin任务运行时,我... 查看详情

导致此错误的原因 - “致命错误:无法找到本地咕噜声”

】导致此错误的原因-“致命错误:无法找到本地咕噜声”【英文标题】:Whatiscausingthiserror-"Fatalerror:Unabletofindlocalgrunt"【发布时间】:2012-12-0505:49:39【问题描述】:我先把旧版本的grunt卸载了,再安装新的grunt版本,然后... 查看详情

猪拉丁语:错误 org.apache.pig.tools.grunt.Grunt - 错误 1045

】猪拉丁语:错误org.apache.pig.tools.grunt.Grunt-错误1045【英文标题】:PigLatin:ERRORorg.apache.pig.tools.grunt.Grunt-ERROR1045【发布时间】:2015-12-2721:09:57【问题描述】:M=LOAD\'/apps/hive/warehouse/hsfawtbx9000_archive.db/fds_audit_record_master_t 查看详情

错误 MSB3073:命令“grunt dist”在 Visual Studio 2017 中以代码 3 退出

】错误MSB3073:命令“gruntdist”在VisualStudio2017中以代码3退出【英文标题】:ErrorMSB3073:Thecommand"gruntdist"exitedwithcode3invisualstudio2017【发布时间】:2020-10-1910:21:41【问题描述】:我在发布项目时遇到问题。发布时生成以下输出V... 查看详情

Grunt 错误:找不到模块“time-grunt”

】Grunt错误:找不到模块“time-grunt”【英文标题】:Grunterror:Cannotfindmodule\'time-grunt\'【发布时间】:2015-03-0715:43:12【问题描述】:我尝试安装time-gruntlocal和global,清除npm缓存,更新npm,但没有任何帮助。我明白了:Loading"Gruntfile.j... 查看详情

带有 $ 的 Grunt lint 错误

】带有$的Gruntlint错误【英文标题】:Gruntlinterrorwith$【发布时间】:2012-12-2513:46:12【问题描述】:我正在尝试将lint与Grunt一起使用。我可以从命令行运行Grunt,但它给了我很多错误。大多数情况下“\'$\'未定义”。甚至alert都在抛... 查看详情

Grunt --force 因节点失败:错误选项

】Grunt--force因节点失败:错误选项【英文标题】:Grunt--forcefailswithnode:badoption【发布时间】:2018-09-0313:01:16【问题描述】:我有一个名为eslint:jenkins的Grunt任务,它在项目上运行eslint。在构建管道中,我将其运行为:grunteslint:jenkin... 查看详情

安装 grunt 时出现 NodeJS NPM 代理错误

】安装grunt时出现NodeJSNPM代理错误【英文标题】:NodeJSNPMProxyerrorwheninstallinggrunt【发布时间】:2015-01-1508:25:53【问题描述】:当我尝试通过npm安装grunt时,出现以下错误:C:\\ProgramFiles\\nodejs\\node_modules\\npm>npminstall-ggruntnpmERR!network... 查看详情

vue代码混淆加密压缩

参考技术A记录一下使用方法。在vue.config.js下然后正常打包。如果有遇到报错清空,大概率是遇到es6语法导致无法压缩。解决方法有很多,最简单的就是更改uglifyjs版本。npmiuglifyjs-webpack-plugin@1 查看详情

“错误:Grunt :: 在 127.0.0.1 上启动检查器:xxxx 失败:地址已在使用中”

...项目。两个独立的项目是sailsjs应用程序。使用VisualStudio代码 查看详情

在grunt中为单个文件运行jshint(代码片段)

我在Grunt中有多个子任务(src,lib和test)的JSHint设置,效果很好。但是,由于我们刚开始使用此设置,因此我们的许多源文件中存在许多错误。$gruntjshint:src...lotsoferrors...在一次处理一个文件的同时,是否可以重新打印该单个文... 查看详情

C 程序错误代码混淆(比较值)

】C程序错误代码混淆(比较值)【英文标题】:Cprogrambadcodeconfusion(comparevalues)【发布时间】:2021-12-0602:38:18【问题描述】:只是试图比较C中的两个值,并找到较小的值。不小心以一种非常糟糕的方式做到了,但我不明白为什么C... 查看详情

grunt不是内部或外部命令错误处理

如题,npminstall-ggrunt-cli发现grunt命令却不可用,其实是环境变量问题,但是网上很多给出的方法其实是不准确的,正确方法,可以通过npmroot-g查看路径,之后将路径中具有grunt.cmd和grunt的目录添加到环境变量path中即可,其实ye并... 查看详情

错误 org.apache.pig.tools.grunt.Grunt - org.apache.pig.tools.pigscript.parser.TokenMgrError: Unmatched

】错误org.apache.pig.tools.grunt.Grunt-org.apache.pig.tools.pigscript.parser.TokenMgrError:Unmatched\\\'\\\'【英文标题】:ERRORorg.apache.pig.tools.grunt.Grunt-org.apache.pig.tools.pigscript.parser.TokenMgrError:Unmatched\'\'错误org 查看详情

grunt test - 致命错误:尚未实施单元测试

】grunttest-致命错误:尚未实施单元测试【英文标题】:grunttest-Fatalerror:Unittestingisnotimplementedyet【发布时间】:2018-10-0201:26:28【问题描述】:我已经搭建好项目环境,安装grunt成功。在终端中,我尝试运行grunt,它为我显示了这个... 查看详情