【问题标题】:JSON undefined when Site added to Local Intranet将站点添加到本地 Intranet 时 JSON 未定义
【发布时间】:2014-03-07 12:59:02
【问题描述】:

所以我们有一个使用 JSON 对象的网站,如下所示。

    $.each(JSON.parse($hdnSearchCriteria.val()), function (k, v) {
        parseCriteria();
    });

我们的网络人员将我们的域添加到本地 Intranet,从那时起,任何从我们网络内部访问该站点的人都会在遇到上述代码时收到“JSON 未定义”错误。

但是,这只发生在运行 IE 和 FireFox 时。它可以在 Google Chrome 中找到。

我们使用的是 IE 9、10 和 11。我们没有任何早于 9 的版本。 Firefox 是 26.0 版

如果有人能够阐明这一点,我将不胜感激。

更新:我将 FireFox 更新到 27.0.1,这在 Firefox 中不再是问题,不仅在 IE 中。

更新 2 和解决方案

问题是兼容模式。不幸的是,由于微软从最新版本的 IE 中删除了“兼容性”按钮,因此没有明确指示站点何时以兼容模式运行。就我而言,它是,但由于我没有在任何地方看到“破损页面”图标,我认为它不是。

事实证明,当将站点移动到本地 Intranet 区域的组策略时,“在兼容性视图中显示 Intranet 站点”设置的默认值 True 生效。

【问题讨论】:

    标签: json internet-explorer security-zone


    【解决方案1】:

    IE 7 或更低版本本身不支持 JSON。您将需要使用类似 JSON2 的库来填充功能。

    http://caniuse.com/json

    【讨论】:

    • 我们没有任何机器运行任何早于 9 的 IE 版本。大多数运行 IE 10,但也有少数机器运行 IE 11,例如我自己。
    • 他们可能在兼容模式下运行吗?否则我一无所有。
    • 不,也不是。这是我检查的第一件事。
    • @JeffReddy 仅出于测试目的,如果您使用 api.jquery.com/jQuery.parseJSON 会发生什么。此外,如果有任何方法可以发布 firefox 版本并可能在 jsfiddle 中重新创建。
    • 我无权访问源代码。这是我们由另一家公司维护的网站。所以,我不能做第一个。不过我可以在 jsfiddle 中查看它。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-25
    • 1970-01-01
    • 2015-08-06
    • 2018-06-09
    • 2010-12-10
    相关资源
    最近更新 更多