Jump to content

JS - Dynamic display of a zone in the page.

Recommended Posts

Good morning, everyone.

I need to dynamically display a zone in an existing page.

Let me explain:

1 ) The user loads a page from the site.
The zones present with the invocation code are loaded.

2 ) Now, following user actions or other events, I need to display a new advertising zone.  

But inserting the invocation code in the page is not enough...

$('.advertising_slot_result').append('<ins data-revive-zoneid="17" data-revive-id="******************************"></ins>');

How to do this?

Obviously, I want the display and click count on this new area to be operational...

Edited by remy_php
add exemple

Share this post

Link to post
Share on other sites


I propose the following solution .

1) Use the invocation code at site level


    <!-- ... -->
    <script type='text/javascript' src='http://revive.lxc/revive/www/delivery/spcjs.php?id=1'></script>

2) This gives the possibility to use the OA_show(zone_id) function to invoke the zones

    function OA_show(name) {
        if (typeof(OA_output[name]) == 'undefined') {
        } else {

But we're not going to use it!

What interests us here is the OA_output

3) We write a small function that will retrieve the html code in OA_output and insert it neatly into our page at the desired location.

MY_REVIVE.show = function($parent, zone_id) {

MY_REVIVE.getHtml = function(zone_id) {
    var output = OA_output;
    if (typeof(output[zone_id]) === 'undefined') {
        console.error("Zone " + zone_id + " n'existe pas.");
        return '';
    } else {
        return output[zone_id];

Example of use:

MY_REVIVE.show($('#add_slot'), 15);


What do you think of that?



Edited by remy_php

Share this post

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now