jquery 的跨域.getJSON 本地调试正常,整合到 Greasemonkey 怎么就提示 is not defined 了?

2015-06-27 22:44:54 +08:00
 upufo

代码本地调试可以正确回调alert弹窗显示JSONP中的内容 可是一旦整合在Greasemonkey中就变成函数没有被定义了.这是什么问题?

以下是本地代码,测试中毫无问题

<script src="http://upcdn.b0.upaiyun.com/libs/jquery/jquery-2.0.3.min.js"></script>

<script type="text/javascript">$.getJSON("JSONP网络路径", function(json){alert("JSON Data: " + json.translation);})</script>

改成Greasemonkey脚本就出错了

// ==UserScript==
// @name Hello World
// @description 暂无描述
// @require http://upcdn.b0.upaiyun.com/libs/jquery/jquery-2.0.3.min.js
// @include *
// ==/UserScript==

$.getJSON("JSONP网络路径", function(json){alert("JSON Data: " + json.translation);})

Greasemonkey脚本firebug调试时提示错误如下:
ReferenceError: jQuery203016154597985419905_1435415657339 is not defined
jQuery203016154597985419905_1435415657339({"translation":["酷"],"basic":{"us-phonetic":"kul","phonetic":"kuːl","uk-phonetic":"kuːl","explains":["n. 凉爽;凉爽的空气","adj. 凉爽的;冷静的;出色的","vt. 使\u2026冷却;使\u2026平静下来","vi. 变凉;平息","adv. 冷静地","n. (Cool)人名;(法)科尔;(英)库尔"]},"query":"cool","errorCode":0,"web":[{"value":["酷","凉爽的","冷静"],"key":"Cool"},{"value":["冷爵士乐","冷爵士","酷派爵士"],"key":"Cool jazz"},{"value":["用烘干机低温烘干","打冷风","用烘焙机低温烘焙"],"key":"Tumble Cool"}]});

2394 次点击
所在节点    问与答
3 条回复
lmaq
2015-06-28 11:00:35 +08:00
跨域?
upufo
2015-06-28 11:04:05 +08:00
@lmaq 远程调用其他站点的jsonp文件 也就是域名不同
caoyue
2015-06-28 11:07:01 +08:00
跨域只能用 GM_xmlHttpRequest

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/201641

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX