Benutzer:J*/lib/wiki.js: Unterschied zwischen den Versionen
< Benutzer:J* | lib
J* (Diskussion | Beiträge) versuchen wirs mal damit |
J* (Diskussion | Beiträge) jajaja, es heißt URIComponent... |
||
| Zeile 16: | Zeile 16: | ||
new Ajax.Request( wgServer+wgScript, { | new Ajax.Request( wgServer+wgScript, { | ||
method:'get', | method:'get', | ||
parameters: 'action=raw&title='+ | parameters: 'action=raw&title='+encodeURIComponent(args.wiki.title)+'&'+args.wiki.args, | ||
onSuccess: function( transport ) { args.wiki.source = transport.responseText; wiki.getSource.continue(args) }, | onSuccess: function( transport ) { args.wiki.source = transport.responseText; wiki.getSource.continue(args) }, | ||
onFailure: function() { args.wiki.source = null; wiki.getSource.continue( args ) } | onFailure: function() { args.wiki.source = null; wiki.getSource.continue( args ) } | ||
| Zeile 37: | Zeile 37: | ||
args.wiki = {}; | args.wiki = {}; | ||
alert(wgServer+wgScript+'action=render&title='+ | alert(wgServer+wgScript+'action=render&title='+encodeURIComponent(args.wiki.title)+'&'+args.wiki.args); | ||
new Ajax.Request( wgServer+wgScript, { | new Ajax.Request( wgServer+wgScript, { | ||
method:'get', | method:'get', | ||
parameters: 'action=render&title='+ | parameters: 'action=render&title='+encodeURIComponent(args.wiki.title)+'&'+args.wiki.args, | ||
onSuccess: function( transport ) { args.wiki.HTML = transport.responseText; args.wiki.transport = transport; wiki.getHTML.continue(args) }, | onSuccess: function( transport ) { args.wiki.HTML = transport.responseText; args.wiki.transport = transport; wiki.getHTML.continue(args) }, | ||
onFailure: function() { args.wiki.HTML = null; wiki.getHTML.continue( args ) } | onFailure: function() { args.wiki.HTML = null; wiki.getHTML.continue( args ) } | ||
| Zeile 66: | Zeile 66: | ||
new Ajax.Request( wgServer+wgScript, { | new Ajax.Request( wgServer+wgScript, { | ||
method:'post', | method:'post', | ||
parameters: 'action=submit&wpPreview=true&live=true&title='+ | parameters: 'action=submit&wpPreview=true&live=true&title='+encodeURIComponent(args.wiki.title)+'&wpTextbox1='+encodeURIComponent(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) }, | 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 ) } | onFailure: function() { args.wiki.HTML = null; wiki.parse.continue( args ) } | ||
Version vom 5. April 2009, 19:43 Uhr
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)
* objekt.wiki.args = Seitenargumente
*/
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='+encodeURIComponent(args.wiki.title)+'&'+args.wiki.args,
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)
* objekt.wiki.args = Seitenargumente
*/
getHTML: new Async([
function ( args ) {
if (args == null)
args = {};
if (args.wiki == null)
args.wiki = {};
alert(wgServer+wgScript+'action=render&title='+encodeURIComponent(args.wiki.title)+'&'+args.wiki.args);
new Ajax.Request( wgServer+wgScript, {
method:'get',
parameters: 'action=render&title='+encodeURIComponent(args.wiki.title)+'&'+args.wiki.args,
onSuccess: function( transport ) { args.wiki.HTML = transport.responseText; args.wiki.transport = transport; 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='+encodeURIComponent(args.wiki.title)+'&wpTextbox1='+encodeURIComponent(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
])
};