innerHTML + js kód nem megy
Sziasztok!
A következő problémám van:
Van egy ajax fv-em, ami egy php-s oldal által generált tartalmat, ad át egy adott id-vel ellátott divnek. Az innerHTML tulajdonságon keresztül írom bele a tartalmat. A tartalom tartalmaz némi javascript kódot is, és ez vhogy nem kerül lefutásra, amikor beillesztődik a divbe. Mi lehet a probléma?
Itt az ajaxos fv:
■ A következő problémám van:
Van egy ajax fv-em, ami egy php-s oldal által generált tartalmat, ad át egy adott id-vel ellátott divnek. Az innerHTML tulajdonságon keresztül írom bele a tartalmat. A tartalom tartalmaz némi javascript kódot is, és ez vhogy nem kerül lefutásra, amikor beillesztődik a divbe. Mi lehet a probléma?
Itt az ajaxos fv:
function DisplayPage(id)
{
var xmlHttp;
try
{
// Firefox, Opera 8.0+, Safari
xmlHttp=new XMLHttpRequest();
}
catch (e)
{
// Internet Explorer
try
{
xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e)
{
try
{
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e)
{
alert("Your browser does not support AJAX!");
return false;
}
}
}
xmlHttp.onreadystatechange=function()
{
if(xmlHttp.readyState==4)
{
document.getElementById("links").innerHTML=xmlHttp.responseText;
}
}
var url="http://bendesoft.extra.hu/demo/show.php?id="+id;
xmlHttp.open("GET",url,true);
xmlHttp.send(null);
}
biztonsági okokból
azaz kézzel createElement()-elni egy script taget, és beilleszteni a kódot (vagy eval, de eval is evil, mint tudjuk)
egy kis infó (ezt találtam most gyorsba):
ajaxpatterns: on-demand javascript
innertHTMl and script tag
még egy kis hiba
Itt a kódom:
debug
Mellesleg az, hogy csak a "</" stringig veszed a szkripted nem túl logikus. Biztos vagy benne, hogy a szkriptben sosem szerepelhet ilyen karakterlánc? (Például HTML szöevget nem tartalmaz)? Nézd inkább "</script>" -ig. A böngésző is ennél az elemnél fog leállni az értelmezéssel, miért szabnál szigorúbb feltételt?
Mi a helyzet a <script type="..." src="..."/> formával?
folyamatos töltés
link?
(ugye nincs document.write a beillesztett scriptben?)
demo link
Nincs benne. A legenerált oldal egy google hirdetést jelenítene meg+ néhány linket. Ez lenne egy lényegi része egy feladatnak. Az lenne a lényeg, hogy az én általam generált kódot beillesztve egy html oldalba, megjeleníti a linkeket és a a google hirdetés(eke)t is.
Itt egy példa h h néz ki egy google hirdetés:
valszeg az adsense a ludas
de valószínűbb hogy a google az ami bekavar, amikor be akarja document.writeolni a hirdetését a mr betöltött dom-ba (és így felülírja az egészet)
hívd meg a hirdetést inkább egy iframeből (a show.php-ban), ami a tartalom beillesztése után szépen betölti külön.
(és elvileg olyan kulcsszavakat tehetsz a betöltőbe a hirdetés mellé amilyeneket szeretnél)
működik