Compare Revisions

Custom about: URLs

Change Revisions

Revision 55536:

Revision 55536 by MichaelKohler on

Revision 55537:

Revision 55537 by Wikiwide on

Title:
Custom about: URLs
Custom about: URLs
Slug:
Custom_about:_URLs
Custom_about:_URLs
Tags:
about:
about:
Content:

Revision 55536
Revision 55537
tt50    <h3>
51      For Firefox 4
52    </h3>
53    <p>
54      In chrome.manifest of the extension, write:
55    </p>
56    <p>
57      component CID relative/file/location/of/file.js/whereever/y
 >ou/put/it
58    </p>
59    <p>
60      contract&nbsp;<span class="Apple-style-span" style="font-fa
 >mily: 'Courier New', 'Andale Mono', monospace; white-space: pre; 
 >line-height: normal;">@mozilla.org/network/protocol/about;1?what=
 >sitename CID</span>
61    </p>
62    <p>
63      Example:
64    </p>
65    <p>
66      <span class="Apple-style-span" style="font-family: 'Courier
 > New', 'Andale Mono', monospace; white-space: pre; line-height: n
 >ormal;">component <em style="font-family: Georgia, Times, 'Times 
 >New Roman', serif;">{00000000-0000-0000-0000-000000000000} compon
 >ents/</em></span><em>aboutSitename</em><span class="Apple-style-s
 >pan" style="font-family: 'Courier New', 'Andale Mono', monospace;
 > white-space: pre; line-height: normal;"><em style="font-family: 
 >Georgia, Times, 'Times New Roman', serif;">.js</em></span>
67    </p>
68    <p>
69      contract&nbsp;<span class="Apple-style-span" style="font-fa
 >mily: 'Courier New', 'Andale Mono', monospace; white-space: pre; 
 >line-height: normal;">@mozilla.org/network/protocol/about;1?what=
 >sitename</span> <span class="Apple-style-span" style="font-family
 >: 'Courier New', 'Andale Mono', monospace; white-space: pre; line
 >-height: normal;"><em style="font-family: Georgia, Times, 'Times 
 >New Roman', serif;">{00000000-0000-0000-0000-000000000000}</em></
 >span>
70    </p>
71    <p>
72      CID can be received from firebot (<a href="/en/Creating_a_S
 >kin_for_Firefox/UUID" title="https://developer.mozilla.org/en/Cre
 >ating_a_Skin_for_Firefox/UUID">https://developer.mozilla.org/en/C
 >reating_a_Skin_for_Firefox/UUID</a>); making up your own will mos
 >t likely give you error "Malformed CID" in Error Console
73    </p>
74    <p>
75      &nbsp;
76    </p>
77    <p>
78      Then, the Javascript file (probably <span class="Apple-styl
 >e-span" style="font-family: 'Courier New', 'Andale Mono', monospa
 >ce; white-space: pre; line-height: normal;"><em style="font-famil
 >y: Georgia, Times, 'Times New Roman', serif;">components/</em></s
 >pan><em style="font-family: Georgia, Times, 'Times New Roman', se
 >rif;">aboutSitename</em><span class="Apple-style-span" style="fon
 >t-family: 'Courier New', 'Andale Mono', monospace; white-space: p
 >re; line-height: normal;"><em style="font-family: Georgia, Times,
 > 'Times New Roman', serif;">.js</em></span>)
79    </p>
80    <pre style="margin-top: 0px; margin-right: 0px; margin-bottom
 >: 1.286em; margin-left: 0px; padding-top: 10px; padding-right: 20
 >px; padding-bottom: 10px; padding-left: 20px; border-top-width: 1
 >px; border-right-width: 1px; border-bottom-width: 1px; border-lef
 >t-width: 1px; border-top-style: solid; border-right-style: solid;
 > border-bottom-style: solid; border-left-style: solid; border-top
 >-color: rgb(213, 205, 187); border-right-color: rgb(213, 205, 187
 >); border-bottom-color: rgb(213, 205, 187); border-left-color: rg
 >b(213, 205, 187); overflow-x: auto; overflow-y: auto; font: norma
 >l normal normal 100%/normal 'Courier New', 'Andale Mono', monospa
 >ce;">
81const Cc = Components.classes;
82const Ci = Components.interfaces;
83 
84Components.utils.import("resource://gre/modules/XPCOMUtils.jsm");
85 
86function AboutSitename() { }
87AboutSITENAME.prototype = {
88  classDescription: "about:sitename",
89  contractID: "@mozilla.org/network/protocol/about;1?what=sitenam
 >e",
90  classID: Components.ID("{YOUR-UUID}"),
91//Note: classID here should be exactly the same as CID in chrome.
 >manifest
92  QueryInterface: XPCOMUtils.generateQI([Ci.nsIAboutModule]),
93  
94  getURIFlags: function(aURI) {
95    return Ci.nsIAboutModule.ALLOW_SCRIPT;
96  },
97  
98  newChannel: function(aURI) {
99    let ios = Cc["@mozilla.org/network/io-service;1"].getService(
 >Ci.nsIIOService);
100    let channel = ios.newChannel("chrome://CHROMEDIR",
101                                 null, null);
102//Note:"chrome://CHROMEDIR" is like chrome://extension/content/a
 >boutSitename.html Read more about chrome registration: https://de
 >veloper.mozilla.org/en/Chrome_Registration
103  channel.originalURI = aURI;
104    return channel;
105  }
106};
107const NSGetFactory = XPCOMUtils.generateNSGetFactory([AboutSITENA
 >ME]);
108</pre>

Back to History