12. maj 2009 - 22:53
Der er
9 kommentarer og 1 løsning
object i eval()
hvordan kan jeg smide et object i en eval() ? eval('alert('+top.document+')'); jeg får: 'object' is undefined
Annonceindlæg tema
Offentlig digitalisering
Fra effektivisering til digital suverænitet. Hvordan skaber det offentlige en digital fremtid med AI, sikkerhed og kontrol i centrum?
Hvad forventer du at der skal komme ud af det? Alert kan fremvise en tekststreng eller anden variabel. Derfor kan der ikke være et objekt i alert.
Du skal bare skrive det inde i strengen: eval('alert(top.document)');
ok.. måske et dårligt eksempel jeg skal kalde en callback function eval('callback_func('+document+')');
ja selvfølgelig, fennec smid et svar :)
Eksempel på at eval udfører input som java script: <title> 7 * 8 </title> ... alert(top.document.title); eval('alert('+top.document.title+')'); Output: 7 * 8 56
jeg var sgu lige lidt for hurtig.. det virker stadig ikke så snart jeg tilføjer min callback_var (eller document som det er i eksemplet) i eval() melder den fejl.. function json_post(response, get_str, callback_function, callback_var) { var xmlhttp; var self = this; if(window.XMLHttpRequest) self.xmlhttp = new XMLHttpRequest(); else if(window.ActiveXObject) self.xmlhttp = new ActiveXObject('Microsoft.XMLHTTP'); self.xmlhttp.open('POST', response, true); self.xmlhttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); self.xmlhttp.onreadystatechange = function() { if(self.xmlhttp.readyState == 4 && callback_function) eval(callback_function+'('+self.xmlhttp.responseText+', '+document+')'); } self.xmlhttp.send(get_str); }
altså linjen her: eval(callback_function+'('+self.xmlhttp.responseText+', '+callback_var+')');
virker: eval(callback_function+'('+self.xmlhttp.responseText+')'); virker ikke: eval(callback_function+'('+self.xmlhttp.responseText+', '+callback_var+')');
mig der er galt på den.. callback_var sal bare skrives som en string :)
Vi tilbyder markedets bedste kurser inden for webudvikling