Kamel:J*/Ka-Mel-Oh/Testgelände/Notizzettel: Unterschied zwischen den Versionen
J* (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
J* (Diskussion | Beiträge) Neuer Abschnitt: Wiki-Klasse |
||
| Zeile 152: | Zeile 152: | ||
c instanceof fkt2 | c instanceof fkt2 | ||
--> | --> | ||
== Wiki-Klasse == | |||
wiki = { | |||
/* | |||
* getSource: fragt wiki nach Seitenquelltexten | |||
* Argumente und Rückgabewerte als Objekt: | |||
* objekt.wiki.title = Seitentitel (benötigtes Argument) | |||
* objekt.wiki.source = Seitenquelltext (Rückgabewert) | |||
*/ | |||
getSource: new Async([ | |||
function ( args ) { | |||
if (args == null) | |||
args = {}; | |||
if (args.wiki == null) | |||
args.wiki = {}; | |||
new Ajax.Request( wgServer+wgScript, { | |||
method:'get', | |||
parameters: 'action=raw&title='+escape(args.wiki.title), | |||
onSuccess: function( transport ) { args.wiki.source = transport.responseText; wiki.getSource.continue(args) }, | |||
onFailure: function() { args.wiki.source = null; wiki.getSource.continue( args ) } | |||
}) | |||
}, | |||
null | |||
]), | |||
/* | |||
* getHTML: fragt wiki nach gerenderten Seiten | |||
* Argumente und Rückgabewerte als Objekt: | |||
* objekt.wiki.title = Seitentitel (benötigtes Argument) | |||
* objekt.wiki.HTML = SeitenHTML (Rückgabewert) | |||
*/ | |||
getHTML: new Async([ | |||
function ( args ) { | |||
if (args == null) | |||
args = {}; | |||
if (args.wiki == null) | |||
args.wiki = {}; | |||
new Ajax.Request( wgServer+wgScript, { | |||
method:'get', | |||
parameters: 'action=render&title='+escape(args.wiki.title), | |||
onSuccess: function( transport ) { args.wiki.HTML = transport.responseText; wiki.getHTML.continue(args) }, | |||
onFailure: function() { args.wiki.HTML = null; wiki.getHTML.continue( args ) } | |||
}) | |||
}, | |||
null | |||
]), | |||
/* | |||
* parse: lässt Wiki beliebigen Wiki-Quelltext rendern | |||
* Argumente und Rückgabewerte als Objekt: | |||
* objekt.wiki.source = Quelltext (benötigtes Argument) | |||
* objekt.wiki.title = Seitentitel (für {{PAGENAME}} oder ähnliches) | |||
* objekt.wiki.HTML = SeitenHTML (Rückgabewert) | |||
*/ | |||
parse: new Async([ | |||
function ( args ) { | |||
if (args == null) | |||
args = {}; | |||
if (args.wiki == null) | |||
args.wiki = {}; | |||
filter1='<div id="wikilibajaxfilterdiv1"></div>'; | |||
filter2='<div id="wikilibajaxfilterdiv2"></div>'; | |||
new Ajax.Request( wgServer+wgScript, { | |||
method:'post', | |||
parameters: 'action=submit&wpPreview=true&live=true&title='+escape(args.wiki.title)+'&wpTextbox1='+escape(filter1+args.wiki.source+filter2), | |||
onSuccess: function( transport ) { args.wiki.HTML = transport.responseText.replace(/</gi, "<").replace(/>/gi, ">").replace(/"/gi, "\"").replace(/&/gi,"&").replace(new RegExp("^(.|\n)*"+filter1),"").replace(new RegExp(filter2+"(.|\n)*$"),""); wiki.parse.continue(args) }, | |||
onFailure: function() { args.wiki.HTML = null; wiki.parse.continue( args ) } | |||
}) | |||
}, | |||
null | |||
]) | |||
}; | |||
ready = function ( a ) { alert("-->"+String(a.wiki.HTML) ) }; | |||
wiki.parse.start( { wiki: {title:"Test", source:"{{Bild}}"} }, ready ) | |||
Version vom 21. Februar 2009, 13:49 Uhr
Framework: Array.prototype und Async
Klassenarchitektur der Karten
Wiki-Klasse
wiki = {
/*
* getSource: fragt wiki nach Seitenquelltexten
* Argumente und Rückgabewerte als Objekt:
* objekt.wiki.title = Seitentitel (benötigtes Argument)
* objekt.wiki.source = Seitenquelltext (Rückgabewert)
*/
getSource: new Async([
function ( args ) {
if (args == null)
args = {};
if (args.wiki == null)
args.wiki = {};
new Ajax.Request( wgServer+wgScript, {
method:'get',
parameters: 'action=raw&title='+escape(args.wiki.title),
onSuccess: function( transport ) { args.wiki.source = transport.responseText; wiki.getSource.continue(args) },
onFailure: function() { args.wiki.source = null; wiki.getSource.continue( args ) }
})
},
null
]),
/*
* getHTML: fragt wiki nach gerenderten Seiten
* Argumente und Rückgabewerte als Objekt:
* objekt.wiki.title = Seitentitel (benötigtes Argument)
* objekt.wiki.HTML = SeitenHTML (Rückgabewert)
*/
getHTML: new Async([
function ( args ) {
if (args == null)
args = {};
if (args.wiki == null)
args.wiki = {};
new Ajax.Request( wgServer+wgScript, {
method:'get',
parameters: 'action=render&title='+escape(args.wiki.title),
onSuccess: function( transport ) { args.wiki.HTML = transport.responseText; wiki.getHTML.continue(args) },
onFailure: function() { args.wiki.HTML = null; wiki.getHTML.continue( args ) }
})
},
null
]),
/*
* parse: lässt Wiki beliebigen Wiki-Quelltext rendern
* Argumente und Rückgabewerte als Objekt:
* objekt.wiki.source = Quelltext (benötigtes Argument)
* objekt.wiki.title = Seitentitel (für J*/Ka-Mel-Oh/Testgelände/Notizzettel oder ähnliches)
* objekt.wiki.HTML = SeitenHTML (Rückgabewert)
*/
parse: new Async([
function ( args ) {
if (args == null)
args = {};
if (args.wiki == null)
args.wiki = {};
filter1='
'; filter2='
';
new Ajax.Request( wgServer+wgScript, {
method:'post',
parameters: 'action=submit&wpPreview=true&live=true&title='+escape(args.wiki.title)+'&wpTextbox1='+escape(filter1+args.wiki.source+filter2),
onSuccess: function( transport ) { args.wiki.HTML = transport.responseText.replace(/</gi, "<").replace(/>/gi, ">").replace(/"/gi, "\"").replace(/&/gi,"&").replace(new RegExp("^(.|\n)*"+filter1),"").replace(new RegExp(filter2+"(.|\n)*$"),""); wiki.parse.continue(args) },
onFailure: function() { args.wiki.HTML = null; wiki.parse.continue( args ) }
})
},
null
])
};
ready = function ( a ) { alert("-->"+String(a.wiki.HTML) ) };
wiki.parse.start( { wiki: {title:"Test", source:"
Informationen zu dieser Datei:
|
Quellen- und Urheberangaben
nicht angegeben
Nutzungsbedingungen |
Lizenz(en) dieser Datei
Beschreibende Markierungen
|
Technik
| ||||||||||||||||
Was bedeuten die Symbole da rechts bei den Nutzungsbedingungen?
"} }, ready )









