Pregunta

Estoy tratando de carga perezosa algún código servidor de anuncios ...

En la página que tengo esto en el momento:

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

y luego ir a través y sacar todos los anuncios que deberían estar en la página, llame a su Archivo de inclusión JavaScript y me da este hermoso lío:

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;
    }
}

Entonces quiero reemplazar el lapso con los resultados de la llamada document.write anuncio.

¿Hay una manera de conseguir que vuelva la cadena que habría sido escrita a la página?

¿Fue útil?

Solución

I don't see why you can't overwrite the document.write function:

document.old_write = document.write;

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

See here: http://www.jsfiddle.net/N9hXy/

Otros consejos

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

The do_ad(pos) function must be called somewhere. Why not where the ad should be displayed?

<div class="ad">
    <script>do_ad("pos_1");</script>
</div>
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top