Folge dem Video um zu sehen, wie unsere Website als Web-App auf dem Startbildschirm installiert werden kann.
Anmerkung: Diese Funktion ist in einigen Browsern möglicherweise nicht verfügbar.
Vermutlich ersteres ;-)Ist das nur bei mir so oder ist das generell ein Problem?
/**
* nach JavaScript Code parsen
* und selbigen extrahieren
*@access private
*@param String was soll durchsucht werden
*@return Array (htmlCode,ScriptCode)
*/
function parseScriptContent (parseString) {
var scriptTagPattern = /<script[^>]+>((?:\r|\n|.)*?)<\/script>/gi;
var scriptCodePattern = new RegExp("(?:<script[^>]+>)((?:\r|\n|.)*?)(?:<\/script>)","im");
var m = parseString.match(scriptTagPattern);
var jsCode = "";
if(m){
for(var i = 0; i < m.length;i++) {
try {
jsCode += m[i].match(scriptCodePattern)[1];
} catch (e) {
alert(e.message);
}
}
parseString = parseString.replace(scriptTagPattern,"");
return [parseString,jsCode];
} else {
return [parseString,""];
}
};
var stringWithJS = "hallo da ist eine alert box mit drinnen."+
"<script type='text/javascript'>alert('hallo welt');</script>";
var parsed = parseScriptContent(stringWithJS);
var html = parsed[0];
var code = parsed[1];
// um den JS Code nun zu zünden
eval(code); // nun sollte hallo welt in einen Alert Fenster auftauchen
$.ajax({
type: "POST",
url: "script.php",
dataType: "json",
data: {...},
processData: true,
cache: false,
success: function(response){
$.globalEval(response.payload);
},
error: function(msg){
alert("Es ist ein Fehler aufgetreten. Bitte versuch es später nochmal.");
}
});
DOM = {
findParent: function(e,p){
var b = $(e).closest(p);
return b;
},
find: function(a,b){
return $(a).find(b);
},
replace: function(a, b){
$(a).replaceWith(b);
},
addContent: function(a,b,c){
if(c == 0){
return a.html(b);
} else if(c == 1){
return a.prepend(b);
} else {
return a.append(b);
}
}
}
function HTML(html){
return html.replace(/c003/ig, "<").replace(/"/ig, '"');
}
{"error":"","payload":"DOM.replace(DOM.find(document,\".liveForm_74c0880ae8a777a6ce492cb422b3f1ce .uiLikeBox\"), HTML(\"\\c003li class=\\\"uiBox uiListItem uiLikeBox\\\"> \\c003button class=\\\"like_link\\\" name=\\\"like\\\" type=\\\"submit\\\" title=\\\"Das find ich gut\\\"> \\c003span class=\\\"uiWrap\\\"> \\c003span class=\\\"uiWrap_Image\\\">\\c003i class=\\\"uiImage rate rate_up\\\">\\c003\\\/i>\\c003\\\/span> \\c003span class=\\\"uiWrap_Content\\\">Find ich gut\\c003\\\/span> \\c003\\\/span> \\c003\\\/button>\\c003span class=\\\"uiText\\\">\\c003\\\/span>\\c003\\\/li>\"));","scripts":["js\/base.js"]}
$('selector').live();
(function($){
$.fn.extend({
ajx: function(options){
ajxDefaults = {
target: "#main",
event: "click",
link: false,
method: "GET",
loadHash: false,
tagToLoad: false,
title: false,
params: "__a=1",
contentType: "application/x-www-form-urlencoded",
dataType: "json",
cache: false
};
return this.each(function(){
var current = $.extend({},ajxDefaults,options);
$(this).live(current.event, function(){
if($(this).is("a")){
var link = $(this).attr('href').replace(/^#/, "");
current.link = link;
} else if($(this).is("input[type=submit]") || $(this).is("button[type=submit]")){
var form = this.form;
current.link = $(form).attr("action");
current.paramres = $(form).serialize()+"&"+current.params+"&"+$(this).attr("name")+"="+$(this).attr("value");
current.method = "POST";
}
if(!current.paramres){
current.paramres = current.params;
}
$.ajax({
type: current.method,
url: current.link,
dataType: current.dataType,
data: current.paramres,
contentType: current.contentType,
processData: true,
cache: current.cache,
success: function(response){
$.globalEval(response.payload);
/*if(response.scripts){
scripts = response.scripts;
for(i in scripts){
$.getScript(scripts[i]);
}
}*/
if(response.js){
$.globalEval(response.js);
}
},
error: function(msg){
alert("Es ist ein Fehler aufgetreten. Bitte versuch es später nochmal.");
}
});
current.paramres = "";
if($(this).is("a") || $(this).is("input[type=submit]") || $(this).is("button[type=submit]")) return false;
});
});
}
});
})(jQuery);