1

我正在尝试将一个简单的内容脚本添加到一个选项卡,该选项卡会在所有 jquery ajax 请求完成时触发。当我使用 jQuery ajax 打开页面时(例如:http://demos.9lessons.info/wall/index1.php)没有任何反应。

我有以下代码:

main.js

const tabs = require('sdk/tabs');
var worker = tabs.activeTab.attach({contentScriptFile: [data.url('jquery-1.10.2.min.js'), data.url('tab.js')]});

tab.js

$(document).ajaxComplete(function () {alert('Ajax complete')});
4

1 回答 1

1

您需要与页面中运行的 jQuery 实例(如果有)进行交互,而不是与内容脚本中的实例交互。

main.js

const {data} = require("self");
const {PageMod} = require("sdk/page-mod");

PageMod({
  include: "http://demos.9lessons.info/wall/index1.php",
  contentScriptFile: data.url("alert.js"),
  contentScriptWhen: "ready"
});

alert.js

if (unsafeWindow.jQuery) {
    unsafeWindow.jQuery(document).ajaxComplete(function() { alert("complete"); });
}
于 2013-11-11T11:20:44.340 回答