Question

Je suis en train de charger un code paresseux adserver ...

Sur la page que j'ai ce au moment:

<div class="ad">
    <span>pos_1</span>
</div>

Je puis passer et retirer toutes les annonces qui devraient être sur la page, appeler leur javascript include file et il me donne ce beau désordre:

function do_ad(pos){
    switch(pos){
        case 'pos_1':
            document.write('first ad text');
            document.write('first ad more text');
            //and so on for many many lines
            break;
        case 'pos_2':
            document.write('second ad text');
            document.write('second ad more text');
            //and so on for many many lines
            break;
    }
}

Je veux alors remplacer la portée des résultats de l'appel ad document.write.

Est-il possible de l'obtenir pour retourner la chaîne qui aurait été écrit à la page?

Était-ce utile?

La solution

Je ne vois pas pourquoi vous ne pouvez pas remplacer la fonction document.write:

document.old_write = document.write;

document.write = function (str) {
    // lalala
};

Voir ici: http://www.jsfiddle.net/N9hXy/

Autres conseils

document.write = function(str) {
    window.buf += str;
}

La fonction do_ad (pos) doit être appelée quelque part. Pourquoi ne pas où l'annonce doit être affichée?

<div class="ad">
    <script>do_ad("pos_1");</script>
</div>
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top