【问题标题】:FireFox addon: pageMod how to run contentScript everytime AJAX is DoneFireFox 插件:页面 gMod 如何在每次 AJAX 完成时运行内容脚本
【发布时间】:2014-08-07 18:40:08
【问题描述】:

所以我创建了一个插件,可以在每个打开的页面上找到某些字符串,它应该可以正常工作。我唯一的问题是:当页面使用 AJAX 更新其内容时,我不知道如何检测它并重新运行我的 contentScriptFile。

我的内容脚本文件中是否有我应该使用的模块或某种类型的 JS 侦听器?

这是pageMod:

pageMod.PageMod({
include: "*",
contentScriptFile: [self.data.url("jquery-1.9.1.min.js"), self.data.url("script.js")],

onAttach: function(worker){

    var apiKey = require("sdk/simple-prefs").prefs.apiKey;
    var ignoreList = require("sdk/simple-prefs").prefs.ignoreList;

    worker.port.emit("prefSet", [ignoreList, apiKey]);

 });

【问题讨论】:

    标签: javascript jquery ajax firefox-addon firefox-addon-sdk


    【解决方案1】:

    无论 Ajax 事件是成功完成还是失败,下面的 jQuery 代码都会检测到任何 Ajax 事件完成:

    $(document).ready(function () {
        $(document).ajaxComplete(function() {
          alert("AJAX call completed");
        });
    });
    

    要使 JQuery 可用于 FireFox 插件,请安装 this firefox 插件/扩展

    【讨论】:

    • 代码有效!但它在我的内容脚本中不起作用。它只是不火。知道为什么吗?
    • 抱歉,对 FireFox 插件开发一无所知。
    • 没关系,我还是知道有 .ajaxComplete() 之类的东西 :)
    • 以上语法使用JQuery。要使 JQuery 可用于 FireFox 附加组件,您需要安装此扩展程序 addons.mozilla.org/en-US/firefox/addon/jquery
    • 只为自己开发时这是个好主意(很高兴知道,thanx:)),但是当我发布我的插件时,我不知道是否所有用户都会安装它。
    猜你喜欢
    • 1970-01-01
    • 2019-03-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多