jquery - 来自 Safari 扩展的注入(inject)脚本中的 AJAX

标签 jquery ajax safari javascript-injection getjson

我正在尝试使用 Safari 扩展中注入(inject)脚本中的 API 来扩展短网址:

$.getJSON('http://api.longurl.org/v2/expand?format=json&url=' +  encodeURIComponent(href) + '&callback=?', function(data) {

    console.log(data);
});

我收到以下错误:

ReferenceError: Can't find variable: jQuery15103411371528636664_1298845652395

我尝试了不同的 API 并得到了相同的错误,所以我知道事实并非如此。另外,如果我从控制台执行相同的代码,我会得到成功的响应。所以这肯定与 Safari 扩展的注入(inject)脚本有关。

有什么想法吗?

最佳答案

我相信你必须首先将 jQuery 添加到插件中。下面是一个示例:

var newElement = document.createElement("script");
newElement.type = "text/javascript";
newElement.src = "//ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js";
document.body.insertBefore(newElement, document.body.firstChild);

然后您可以使用插件在选项卡中执行 jQuery。 ;)

关于jquery - 来自 Safari 扩展的注入(inject)脚本中的 AJAX,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5136541/

相关文章:

php - 如何使用 jquery 和 ajax 查询 mysql 数据库?

jQuery 将 CSRF token 添加到所有 $.post() 请求的数据中

php - CSS 未加载到移动版 Safari

css - 淡入后按钮闪烁

ios - 为什么此 iFrame 在 IOS 上没有响应?

javascript - jQuery中使用map函数将列表的数据属性获取到数组中

javascript - 使用 jQuery hasClass 显示 div

javascript - 在 jQuery 中追加元素,保持原始位置

javascript - javascript中错误的递增和递减

javascript - 一个 f.select 正在影响同一表单中的另一个 f.select 吗? (不需要)