Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/382.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript JSON stringify忽略同一浏览器中不同选项卡中的参数_Javascript_Zabbix - Fatal编程技术网

Javascript JSON stringify忽略同一浏览器中不同选项卡中的参数

Javascript JSON stringify忽略同一浏览器中不同选项卡中的参数,javascript,zabbix,Javascript,Zabbix,我需要通过用户脚本(TamperMonkey)美化现有视图。代码在JSFIDLE中工作(请参阅),但不在我需要它的地方工作:在Zabbix web界面内 要复制此问题,请执行以下操作: 打开 按F12打开开发人员工具 插入 预期结果: "{ "asd": { "asd": 3 } }" 我的输出: "{"asd":{"asd":3}}" 使用上的开发人员工具不存在此问题 我已经尝试了中提供的解决方案,但没有成功。查看Zabbix web界面的源代码,您可以

我需要通过用户脚本(TamperMonkey)美化现有视图。代码在JSFIDLE中工作(请参阅),但不在我需要它的地方工作:在Zabbix web界面内

要复制此问题,请执行以下操作:

  • 打开
  • 按F12打开开发人员工具
  • 插入
预期结果:

"{
    "asd": {
        "asd": 3
    }
}"
我的输出:

"{"asd":{"asd":3}}"
使用上的开发人员工具不存在此问题


我已经尝试了中提供的解决方案,但没有成功。

查看Zabbix web界面的源代码,您可以看到覆盖方法的位置:

zabbix-software$ egrep -iR "JSON.stringify *="
frontends/php/jsLoader.php:             'var _json_stringify = JSON.stringify;'.
frontends/php/jsLoader.php:             'JSON.stringify = function(value) {'.
原始函数仍然可用,只是名称不同:
\u json\u stringify()
。更新的JSFIDLE是

更新 在Zabbix 5中,他们把东西放回原处,或者帮助我,所以现在我在做:

            if (typeof _json_stringify === "function") {
                item.html(_json_stringify(JSON.parse(text), undefined, 4))
            } else {
                item.html(JSON.stringify(JSON.parse(text), undefined, 4))
            }

thx to

查看Zabbix web界面的源代码,您可以看到方法被覆盖的位置:

zabbix-software$ egrep -iR "JSON.stringify *="
frontends/php/jsLoader.php:             'var _json_stringify = JSON.stringify;'.
frontends/php/jsLoader.php:             'JSON.stringify = function(value) {'.
原始函数仍然可用,只是名称不同:
\u json\u stringify()
。更新的JSFIDLE是

更新 在Zabbix 5中,他们把东西放回原处,或者帮助我,所以现在我在做:

            if (typeof _json_stringify === "function") {
                item.html(_json_stringify(JSON.parse(text), undefined, 4))
            } else {
                item.html(JSON.stringify(JSON.parse(text), undefined, 4))
            }

thx to

这与你的结果是一样的,只是用1行和4行写的不同而已lines@Patte这是不一样的:注意额外的空格,以及stringify在使用3个参数调用时应该如何添加格式。Welcome Iron,看起来有人正在覆盖JSON.stringify,为什么不在末尾加载一个polyfill,让它返回或实现您自己的。@gengns您的提示是正确的:
frontends/php/jsLoader.php:'var\u json\u stringify=json.stringify;'JSON.stringify=函数(值){.
是罪魁祸首!因此解决方案是使用
\u json\u stringify
。现在..我应该回答我自己的问题,还是关闭它?我很高兴为你指出了正确的方向^^^^当然,如果你回答自己的问题,这将是有帮助的,其他人可能会有类似的问题。你的结果也是一样的,只是用不同的语言写的1号线和4号线lines@Patte这是不一样的:注意额外的空格,以及stringify在使用3个参数调用时应该如何添加格式。Welcome Iron,看起来好像有人在覆盖JSON。stringify,为什么不在末尾加载一个polyfill以恢复或实现自己的格式呢。@gengns您的提示是righ:
frontends/php/jsLoader.php:'var\u json\u stringify=json.stringify;'。'json.stringify=function(value){.
是罪魁祸首!因此解决方案是使用
\u json\u stringify
。现在..我应该回答我自己的问题,还是关闭它?我很高兴为您指出了正确的方向^^^^^当然,如果您回答自己的问题会有所帮助,其他人可能会有类似的问题。