【发布时间】:2011-11-24 10:42:52
【问题描述】:
我已将问题范围缩小到以下功能。这是我正在编写的用户脚本的一部分。它在 Chrome 中完美运行,但在 Firefox/Greasemonkey 中根本不起作用。我整天都在修补它,并且碰到了一堵砖墙。唯一有意义的是 JSON.parse 不能正常工作,这是有道理的,因为 Chrome 处理 JSON.parse 的方式有所不同......但我知道 JSON 格式完美!
function getTagline() {
var jsonfile = new XMLHttpRequest();
jsonfile.open("GET", "http://example.com/somegood.json", true);
jsonfile.onreadystatechange = function() {
if (jsonfile.readyState == 4) {
if (jsonfile.status == 200) {
var taglines = JSON.parse(jsonfile.responseText);
var choose = Math.floor(Math.random() * taglines.length);
var tagline = document.createTextNode(taglines[choose].metais);
insertTagline(tagline);
}
}
};
jsonfile.send(null);
}
有什么想法吗?
【问题讨论】:
-
您能发布您尝试解析的 JSON 的一部分吗?
-
这里是一个例子:[{"commenturl": ["/107669/Solutionism-is-the-new-Optimism#3934686"], "metais": ["Metafilter: 请了一天假在黑暗中坐在地下室,根本没有真正回应任何事情"], "user": ["uncanny hengeman"]},{"commenturl": ["/107126/Lancelot-Link-Secret-Chimp# 3905976"], "metais": ["Metafilter: 他们不是猴子。他们是学究。"], "user": ["Daddy-O"]}, {"commenturl": ["/107129/My -job-is-to-watch-dreams-die#3906426"], "metais": ["MetaFilter: 大多数可怕的人都躲在好的链接后面"], "user": ["Faint of Butt"]}]跨度>
-
所以,它是一个对象列表。根据 JSON.org,它应该是有效的。我认为...:P
-
对我来说很好,但必须转义 Firebug (\') 中的单引号。 o7.no/nJ2nJA
-
该脚本是否到达 JSON.parse 行?如果是,该调用会抛出什么异常,如果是,是什么异常?
标签: javascript json firefox google-chrome userscripts