Wikipedia:Monobook.js/LiveRC.js: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
m fix bug (pagine con "&" nel titolo)
rimuovo la maggior parte degli usi del DOMParser copiando dal codice corrente di LiveRC su fr.wiki. Dovrebbe risolvere i problemi con firefox.
Riga 148:
};
 
function getElementWithId( elementId , elementTagName , elementParentNode ){
// Parser
if(!elementParentNode) elementParentNode = document;
if (document.implementation.createDocument) {
var gml_xmlparser = new DOMParser();
if (elementParentNode.getElementById) return elementParentNode.getElementById(elementId);
var TheElement = false;
var Elements = elementParentNode.getElementsByTagName(elementTagName);
var elementcount = 0;
while(elementcount<Elements.length){
var Id = Elements[elementcount].getAttribute('id');
if(Id){
if(Id==elementId){
TheElement = Elements[elementcount];
break;
}
}
elementcount++
}
if (! TheElement) return null;
return TheElement;
}
 
function gml_XMLParsegetPageContent(string)Req, ID){
ifvar OldTemp = (document.implementation.createDocumentgetElementById("TempDiv") {;
if(OldTemp) OldTemp.parentNode.removeChild(OldTemp);
return gml_xmlparser.parseFromString(string, "text/xml");
var Temp = document.createElement('div');
} else if (window.ActiveXObject) {
Temp.id = "TempDiv";
var gml_xmldoc = new ActiveXObject("Microsoft.XMLDOM");
gml_xmldocTemp.style.asyncdisplay = "falsenone";
document.body.appendChild(Temp);
ret = gml_xmldoc.loadXML(string);
Temp.innerHTML = Req.responseText;
if (!ret)
var bC;
return null;
if (!retID){
return gml_xmldoc.documentElement;
bC = getElementWithId(ID, '*', Temp);
}else{
bC = doc.getElementByIdgetElementWithId('bodyContent', 'div', Temp);
if (bC == null) bC = doc.getElementByIdgetElementWithId('article', 'div', Temp);
if (bC == null) bC = getElementWithId('mw_contentholder', 'div', Temp);
}
return nullbC;
}
 
Riga 194 ⟶ 216:
 
function getDiff(xmlreq, data) {
//var doc = gml_XMLParse(xmlreq.responseText);
//workaround per bug nella pagina del diff (solo per i sysop). TODO: rimuovere appena possibile.
var doc = gml_XMLParse(xmlreq.responseText.replace(/&nbsp</g, "&nbsp;<"));
 
var page=data.mpage;
var oldid=data.moldid;
var id=data.mid;
var rcid=data.mrcid;
var bC = doc.getElementByIdgetPageContent('bodyContent'xmlreq);
if (bC == null) bC = doc.getElementById('article')
var LP = document.getElementById( 'livePreview' );
var dLP = document.getElementById( 'divLivePreview' );
Riga 240 ⟶ 257:
'(<a href="javascript:;" onClick="liveHist(\''+upage+'\');" style="color:darkorange">Cron</a>)';
 
var asNextDiff = doc.getElementByIdgetElementWithId( "differences-nextlink" , "*" , bC );
if(asNextDiff == null) {
var optAvert = "";
Riga 259 ⟶ 276:
 
// Get username of submitter
var user1 = doc.getElementByIdgetElementWithId( 'mw-diff-otitle2' , "*" , bC );
if (user1 != null) {
var usertmp=user1.innerHTML;
Riga 280 ⟶ 297:
user1 = usertmp.substr(daDove3, finoA3-daDove3);
}
var user2 = doc.getElementByIdgetElementWithId( 'mw-diff-ntitle2' , "*" , bC );
if (user2 != null) {
var usertmp=user2.innerHTML;
Riga 451 ⟶ 468:
 
function getHist(xmlreq, data) {
docvar bC = gml_XMLParsegetPageContent(xmlreq.responseText);
bC = doc.getElementById('bodyContent')
if (bC == null) bC = doc.getElementById('article')
var c=data.message;
var LP = document.getElementById( 'livePreview' );
Riga 483 ⟶ 498:
 
function getArticle(xmlreq, data) {
docvar bC = gml_XMLParsegetPageContent(xmlreq.responseText);
bC = doc.getElementById('bodyContent')
if (bC == null) bC = doc.getElementById('article')
var c=data.message;
var user=data.user;
Riga 587 ⟶ 600:
 
function getLog(xmlreq, data) {
docvar bC = gml_XMLParsegetPageContent(xmlreq.responseText);
bC = doc.getElementById('bodyContent')
if (bC == null) bC = doc.getElementById('article')
var c=data.message;
var LP = document.getElementById( 'livePreview' );
Riga 617 ⟶ 628:
 
function getContrib(xmlreq, data) {
docvar bC = gml_XMLParsegetPageContent(xmlreq.responseText);
bC = doc.getElementById('bodyContent')
if (bC == null) bC = doc.getElementById('article')
var user=data.message;
var LP = document.getElementById( 'livePreview' );