2009/11/30 armando <
armando....@gmail.com>:
> ...
> quello che vorrei fare è coprire tutto questo tempo con una pagina
> temporanea...
Al momento la soluzione che mi viene in mente è quella
utilizzata da "mozilla ubiquity" per sovrapporre la propria interfaccia
al browser:
1) Nell'overlay del browser un fragment xul del tipo:
<popupset id="mainPopupSet">
<panel id="transparent-msg-panel" class="msgPanel">
<div id="html-panel-content" xmlns="
http://www.w3.org/1999/xhtml"
xmlns:xul="
http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
YOUR HTML
</div>
</panel>
</popupset>
2) Da Javascript la visualizzi facendo qualcosa del tipo:
var anchor = document.getElementById("content").selectedBrowser;
document.getElementById("upperlayer-panel").openPopup(anchor,
"overlap", 0, 0, false, true);
(
https://developer.mozilla.org/en/XUL:Method:openPopup)
Ci sarebbero altri dettagli da sistemare tipo dimensionamento,
prevenire la gestione di alcuni eventi che di default nasconderebbero
nuovamente il pannello... cosa fare quando si
cambia tab etc. etc.
Altra soluzione (che nel tuo caso sarebbe a portata di mano
dato che la tua estensione già manipola il css della pagina)
potrebbe essere quella di modificare temporaneamente la pagina
coprendone il contenuto con un div grande quanto la pagina
e con style "position: fixed" e uno z-index alto per posizionarlo
in maniera assoluta sopra il resto del contenuto.
(ci sono diversi esempi di giochetti del genere per inserire le
proprie funzionalità all'interno di una pagina... tipo la bookmarklet
di
bit.ly e moltissime altre bookmarklet e script greasymonkey,
potresti prendere ispirazione da qualcuno di questi)
Altre idee?
--
rpl