2 votes

Comment émettre correctement du javascript dans une règle Kynetx?

J'ai du code provenant de mon réseau publicitaire que j'essaie d'insérer dans une règle existante pour appeler une annonce depuis le serveur et la placer dans une div.

Le code javascript m'est donné pour être normalement incorporé dans mon en-tête:

var z=document.createElement("script");z.type="text/javascript";z.async=true;z.src="http://engine.adzerk.net/z/12735/azk1_2_5";var s = document.getElementsByTagName("script")[0];s.parentNode.insertBefore(z, s); 

Et ensuite la partie div qui est placée dans le corps:

La div est placée comme ceci:

rule NAME {
    select when pageview "url"
    pre {
        ad = '';
    }
    replace_inner("#ad-slot-1", ad);

}

Tout d'abord, le placement de la div est-il correctement fait? et deuxièmement, comment dois-je formater le javascript pour cette règle? Dois-je utiliser un émetteur global? Puis-je le stocker sur un autre serveur et l'appeler? Si oui, comment cela doit-il être formaté?

Merci

2voto

Steve Nay Points 1882

Vous pouvez le faire de deux manières. Le premier est la syntaxe use resource. Mettez ceci dans le bloc global :

use javascript resource "http://yourserver.com/path/to/javascript.js"

Ensuite, mettez le JavaScript comme d'habitude dans ce fichier.

La deuxième option est d'utiliser un émettre dans la règle elle-même. Cela va dans le bloc d'action, donc votre nouvelle règle ressemblerait à ceci :

rule NAME {
    select when pageview "url"
    pre {
        ad = '';
    }
    {
        emit <|
            // Votre JavaScript ici
        |>;
        replace_inner("#ad-slot-1", ad);
    }
}

Le JavaScript que vous mettriez dans le fichier ou dans ce bloc emit est tout ce qui se trouve entre les balises </code> dans le code que vous avez donné initialement.</p></x-turndown>

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X