Adaugare date in continut afisat in tag-ul object

Discutii si intrebari legate de scripturi si functii JavaScript, jQuery si Ajax, cod JavaScript in general.
Bizzar
Mesaje: 49

Adaugare date in continut afisat in tag-ul object

Salut.
Am pe forumul meu un chatbox. Cod HTML: imgur.com/AKRmv.png

Am urmatorul script jQuery:

Cod: Selectaţi tot

$(function(){
$('#chatbox_top object html body #chatbox').prepend('
<p class="chatbox_row_2 clearfix">
<span class="nota">Nota: </span>
<span class="msg"><span style="color:blue;"><strong>Va rugam sa cititi regulamentul inainte de a posta!</strong></span></span>
</p>
');
});
care nu functioneaza, din cauza object-uli. Am ajuns la aceasta concluzie, pentru ca am incercat asa:

Cod: Selectaţi tot

$(function(){
$('#chatbox_top').prepend('
<p class="chatbox_row_2 clearfix">
<span class="nota">Nota: </span>
<span class="msg"><span style="color:blue;"><strong>Va rugam sa cititi regulamentul inainte de a posta!</strong></span></span>
</p>
');
});
si functioneaza. Iar odata ce am adaugat objectul in selectori, nu functioneaza:

Cod: Selectaţi tot

$(function(){
$('#chatbox_top object').prepend('
<p class="chatbox_row_2 clearfix">
<span class="nota">Nota: </span>
<span class="msg"><span style="color:blue;"><strong>Va rugam sa cititi regulamentul inainte de a posta!</strong></span></span>
</p>
');
});
Vreo solutie? Mulumesc.

MarPlo Mesaje: 4343
Salut
Tag-ul <object> afiseaza continutul documentului din adresa URL adaugata in la atributul "data".
Alte tag-uri sau text adaugate in cadrul elementului <object> ... </object> sunt afisate in browser doar daca acel browser nu poate interpreta documentul de la adresa adaugata la atributul "data".

Daca vrei sa modifici continutul afisat in <object>, poti sa modifici adresa de la "data" cu adresa unui fisier unde e noul continut.
JavaScript nu lucreaza din exterior in interiorul documentului afisat in <object>.
Dar se poate apela din interior o functie aflata in pagina parinte, printr-un script din interiorul documentului inclus in <object>. Prin acea functie din pagina parinte, si scriptul din Object se poate modifica continutul inserat in <object>.
De exempu.
- Cod pagina "index.html" (include in <object> pagina "chat.html"):

Cod: Selectaţi tot

<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>Title</title>
</head>
<body>
<object id="mobj" type="text/html" data="chat.html" width="500" height="350">
  alt: <a href="chat.html" title="Test">chat.html</a>
</object>
<script>
function test(elm) {
  elm.innerHTML = '<span style="color:blue;">www.coursesweb.net/ </span>'+ elm.innerHTML;
}
</script>
</body>
</html>
- Cod pagina "chat.html" (apeleaza functia test() din pagina parinte, "index.html"):

Cod: Selectaţi tot

<html>
<head>
<title>Titlu chat</title>
</head>
<body>
<div id="chatbox">Cursuri Programare Web</div>
<button id="btn">Clic</button>
<script>
// la clic pe #btn
// apeleaza functia test() din pagina parinte (cu elementul #chatbox la parametru)
document.getElementById('btn').onclick = function(){ parent.test(document.getElementById('chatbox')); }
</script>
</body>
</html>

Subiecte similare