Page 1 sur 1

about:healtreport est une page blanche

Publié : 28 sept. 2015, 12:57
par urane
bonjour

il n 'y a pas de rapport (s'affiche une page blanche) lorsque je veux voir le bilan santé de firefox
j'ai regardé un peu partout sur le net, 'ai trouvé que c'etait un bug reconnu de firefox 21,
qui pour certain est resolu desactivant l'adblocker
pour certains il faut authorizer "mozilla.net" en entré et sortie, mais alors e ne sai pas de quoi
car n'etait pas specifié dans l article

donc je suis à la recherche de suggestions ou liens pour trouver une solution viable

merci d'avance

Re: about:healtreport est une page blanche

Publié : 28 sept. 2015, 15:23
par Bob49
Bonjour
urane a écrit :firefox 21
41, tu veux dire ! :)

► Vérifier en mode sans échec de Firefox. Peut-être une extension qui fout la zone !..
Pour passer en mode sans échec de Firefox : ? (ou bouton ☰ > Aide) ► redémarrer avec les modules désactivés....

Dans le cas ou le problème n'est plus en mode sans échec... Relancer Firefox en mode normal, désactiver les extensions (et thème au cas où)et ré-activez-les une par une...tout en vérifiant le retour du problème, jusqu'à trouver la coupable.
Ensuite vérifier tout de même si cela vient d'un problème de paramètre de celle-ci.

Re: about:healtreport est une page blanche

Publié : 29 sept. 2015, 17:48
par urane
Bonjour
merci pour votre reponse
mais il ne fonctionne pas en mode sans echec
ni ayant effectué la reparation non plus

cordialement

Re: about:healtreport est une page blanche

Publié : 29 sept. 2015, 19:23
par Abraxas
Ouvre la console web (ctrl+shift+k) puis charge la page about:healthreport dans FF: as-tu des erreurs ?

Re: about:healtreport est une page blanche

Publié : 13 oct. 2015, 11:07
par urane
excusez moi la reponse tardie, j'ai eu du travail urgent

donc en mode console j'ai

Code : Tout sélectionner

/* This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */

"use strict";

const {classes: Cc, interfaces: Ci, utils: Cu} = Components;

Cu.import("resource://gre/modules/Preferences.jsm");
Cu.import("resource://gre/modules/Services.jsm");

const prefs = new Preferences("datareporting.healthreport.");

const PREF_UNIFIED = "toolkit.telemetry.unified";
const PREF_UNIFIED_OPTIN = "toolkit.telemetry.unifiedIsOptIn";

// Whether v4 behavior is enabled, i.e. unified Telemetry features are on by default.
const IS_V4 = Preferences.get(PREF_UNIFIED, false) &&
              !Preferences.get(PREF_UNIFIED_OPTIN, false);

let healthReportWrapper = {
  init: function () {
    let iframe = document.getElementById("remote-report");
    iframe.addEventListener("load", healthReportWrapper.initRemotePage, false);
    iframe.src = this._getReportURI().spec;
    iframe.onload = () => {
      MozSelfSupport.getHealthReportPayload().then(this.updatePayload,
                                                   this.handleInitFailure);
    };
    prefs.observe("uploadEnabled", this.updatePrefState, healthReportWrapper);
  },

  uninit: function () {
    prefs.ignore("uploadEnabled", this.updatePrefState, healthReportWrapper);
  },

  _getReportURI: function () {
    const pref = IS_V4 ? "datareporting.healthreport.about.reportUrl"
                       : "datareporting.healthreport.about.reportUrlUnified";
    let url = Services.urlFormatter.formatURLPref(pref);
    return Services.io.newURI(url, null, null);
  },

  setDataSubmission: function (enabled) {
    MozSelfSupport.healthReportDataSubmissionEnabled = enabled;
    this.updatePrefState();
  },

  updatePrefState: function () {
    try {
      let prefs = {
        enabled: MozSelfSupport.healthReportDataSubmissionEnabled,
      };
      healthReportWrapper.injectData("prefs", prefs);
    }
    catch (ex) {
      healthReportWrapper.reportFailure(healthReportWrapper.ERROR_PREFS_FAILED);
    }
  },

  sendTelemetryPingList: function () {
    console.log("AboutHealthReport: Collecting Telemetry ping list.");
    MozSelfSupport.getTelemetryPingList().then((list) => {
      console.log("AboutHealthReport: Sending Telemetry ping list.");
      this.injectData("telemetry-ping-list", list);
    }).catch((ex) => {
      console.log("AboutHealthReport: Collecting ping list failed: " + ex);
    });
  },

  sendTelemetryPingData: function (pingId) {
    console.log("AboutHealthReport: Collecting Telemetry ping data.");
    MozSelfSupport.getTelemetryPing(pingId).then((ping) => {
      console.log("AboutHealthReport: Sending Telemetry ping data.");
      this.injectData("telemetry-ping-data", {
        id: pingId,
        pingData: ping,
      });
    }).catch((ex) => {
      console.log("AboutHealthReport: Loading ping data failed: " + ex);
      this.injectData("telemetry-ping-data", {
        id: pingId,
        error: "error-generic",
      });
    });
  },

  sendCurrentEnvironment: function () {
    console.log("AboutHealthReport: Sending Telemetry environment data.");
    MozSelfSupport.getCurrentTelemetryEnvironment().then((environment) => {
      this.injectData("telemetry-current-environment-data", environment);
    }).catch((ex) => {
      console.log("AboutHealthReport: Collecting current environment data failed: " + ex);
    });
  },

  sendCurrentPingData: function () {
    console.log("AboutHealthReport: Sending current Telemetry ping data.");
    MozSelfSupport.getCurrentTelemetrySubsessionPing().then((ping) => {
      this.injectData("telemetry-current-ping-data", ping);
    }).catch((ex) => {
      console.log("AboutHealthReport: Collecting current ping data failed: " + ex);
    });
  },

  refreshPayload: function () {
    MozSelfSupport.getHealthReportPayload().then(this.updatePayload,
                                                 this.handlePayloadFailure);
  },

  updatePayload: function (payload) {
    healthReportWrapper.injectData("payload", JSON.stringify(payload));
  },

  injectData: function (type, content) {
    let report = this._getReportURI();

    // file URIs can't be used for targetOrigin, so we use "*" for this special case
    // in all other cases, pass in the URL to the report so we properly restrict the message dispatch
    let reportUrl = report.scheme == "file" ? "*" : report.spec;

    let data = {
      type: type,
      content: content
    }

    let iframe = document.getElementById("remote-report");
    iframe.contentWindow.postMessage(data, reportUrl);
  },

  handleRemoteCommand: function (evt) {
    switch (evt.detail.command) {
      case "DisableDataSubmission":
        this.setDataSubmission(false);
        break;
      case "EnableDataSubmission":
        this.setDataSubmission(true);
        break;
      case "RequestCurrentPrefs":
        this.updatePrefState();
        break;
      case "RequestCurrentPayload":
        this.refreshPayload();
        break;
      case "RequestTelemetryPingList":
        this.sendTelemetryPingList();
        break;
      case "RequestTelemetryPingData":
        this.sendTelemetryPingData(evt.detail.id);
        break;
      case "RequestCurrentEnvironment":
        this.sendCurrentEnvironment();
        break;
      case "RequestCurrentPingData":
        this.sendCurrentPingData();
        break;
      default:
        Cu.reportError("Unexpected remote command received: " + evt.detail.command + ". Ignoring command.");
        break;
    }
  },

  initRemotePage: function () {
    let iframe = document.getElementById("remote-report").contentDocument;
    iframe.addEventListener("RemoteHealthReportCommand",
                            function onCommand(e) {healthReportWrapper.handleRemoteCommand(e);},
                            false);
    healthReportWrapper.updatePrefState();
  },

  // error handling
  ERROR_INIT_FAILED:    1,
  ERROR_PAYLOAD_FAILED: 2,
  ERROR_PREFS_FAILED:   3,

  reportFailure: function (error) {
    let details = {
      errorType: error,
    }
    healthReportWrapper.injectData("error", details);
  },

  handleInitFailure: function () {
    healthReportWrapper.reportFailure(healthReportWrapper.ERROR_INIT_FAILED);
  },

  handlePayloadFailure: function () {
    healthReportWrapper.reportFailure(healthReportWrapper.ERROR_PAYLOAD_FAILED);
  },
}

window.addEventListener("load", function () { healthReportWrapper.init(); });
window.addEventListener("unload", function () { healthReportWrapper.uninit(); });