Aller au contenu

Sujets conseillés

Posté

Bonjour,

J'ai une page complète accompagné d'une pub de ma régie chargé en javascript.

J'ai tout un système d'ajax permettant de rafraichir uniquement le contenu utile suivant les catégories de mon visiteurs.

Le problème est que je n'arrive pas à recharger la pub (Je pense faire un rechargement de pub si le gars change de catégorie et est là depuis plus de 1 min par exemple).

Concrètement, j'ai une page principale (index.htm) de ce type :

<html>
<head>
<script>
function rafraichirpub(){
document.getElementById("pub").innerHTML='nouvelle pub : <scr' + 'ipt src="pub.js"></scr' + 'ipt>';
}
</script>
</head>
<body>
Le nombre est considéré comme une pub<br />
<br />
Page chargé le <script>document.write(new Date());</script>
<br />
----------- Ci dessous pub : ---------<br />
<span id="pub">
<script language="JavaScript"><!--
document.write('<scr' + 'ipt src="pub.js"></scr' + 'ipt>');
// -->
</script>
</span><br />
-----------<br />
<a href="#" onclick="rafraichirpub();return false;">Rafraichir la pub sans rafraichir la page</a>
</body>
</html>

Et pour tester, le fichier pub.js :

document.write(Math.round(Math.random()*1000));

Quand je clique sur "rafraichir la page", le contenu de mon span change en "nouvelle pub : " mais le script pub.js n'est pas chargé :-/

nb: je n'ai pas de contrôle sur le pub.js, et la pub ne peut pas être contenu dans un iframe.

Je cherche donc l'astuce pour que cela marche.

Merci d'avance

  • 3 months later...
Posté (modifié)

Salut :)

Je relance le sujet car j'ai exactement le même problème

Merci ;)

Modifié par kent1
Posté

Bonsoir, d'autres confirmerons peut-être mes dires, mais il me semble que le javascript ne peut pas être appelé (au moin avec ta méthode) dynamiquement.

Tu devrait regarder du coté du DOM pour effectuer ces opérations, je n'ai rien de concret sous la main, meme pas un lien,

alors je te laisse regarder sur le net, ou attendre l'avis d'autres hubmaster ;).

L'écriture et l'éxecution du code JS pourrais alors se faire meme sur une page déjà chargée.

Bonne continuation,

David.

Posté

J'ai aussi essayé avec AJAX, mais sans succès j'arrive toujours à afficher de l'html mais quand il est question de javascript celà ne fonctionne plus...

  • 1 month later...
Posté

impossible parce que la fonction document.write écrit sur le coup à la suite du document et non à l'endroit où elle est lancé.

si tu fait un document.write dans un fonction sur un bouton tu verra que le contenu s'écrit à la fin de la page.

  • 1 month later...
Posté

J'ai eu un problème similaire (nécessité d'exécuter du javascript dans un div chargé dynamiquement sans action de l'utilisateur)

C'est effectivement impossible de base (ce qui est logique car de toute façon on n'est pas sensé exécuter du javascript en dehors d'un événement, même dans une page "normale" et même si les navigateurs l'acceptent)

Pour contourner le problème, il faut donc qu'il y ait un événement. Le onload du BODY est a exclure car il faudrait mettre un BODY dans la div. La solution est d'utiliser un autre élément acceptant un événement onload. Or il se trouve que l'élément IMG en fait partie.

Il suffit donc de charger un truc du genre:

<img src="magic.gif" width="1" height="1" onload="mafonctionjavascript()" />

Et le tour est joué!

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...