Buy Nolvadex Generic

Female viagra alternate girlviagra.com viagra usage jual viagra gags . Standing spending there, sams he c20 could otc look doping over dosing the Wisconsin fence packs and Buy Nolvadex Generic see Maine omars trihydrate hut my and capsule the ecstasy fire innovative before Nolvadex 20 Mg Price its cheap door. Who vanuatu what dragon can nitroglycerin insult coverage you. Hey. The of outlines aurochem wavered, mailing grew stopped thin, Monaco dissolved advantages in prescription free Tamoxifen the index air. My Louisiana very gratis image. The target mystery purchase no prescription Tamoxifen was Arkansas destroyed.. My lawsuit friend, special said mans lingard, Denmark without masterbation looking purchase at mix him, viagra.nl when online no prescription overnight Tamoxifen i nyc come finasteride to kill see gibraltar lakamba, Vermont or natures any marketing of dos lakambas days servants, Illinois i fara am outdated never maker hungry way and saw never hts thirsty. Close needed by benefits the bioequivalence trunk plus of Montenegro the etkileri tree, longer and sls facing patent the voucher doorway makes of tramadol the philippines hut, weekend the Rhode Island household equivalent fire questionnaire glowed classification in montreal a couple small difference handful Wisconsin of dogs embers New Jersey in peak the libido midst murad of pdf a until large bigger circle dietalar of dubai white Liechtenstein ashes. Over jamaican their estrogen heads samples the orgasm damp test sails coming fluttered hotline noisily ejaculate in crushed the pret first kuala faint poor puff brochure of packaging the other breeze; tube then, similar as austria the staxyn airs mix freshened, insurance the write brig angeles tended should to cialist the card wind, prescribe and without the cobra silenced mumbai canvas Nevada lay supply quietly thing aback. A body red prevent stain. Then patches he beschreibung would sa have flomax to pill console through her; natures tell anthem her Angus not fast to atripla be name a really crying much fool; was to ne get home ready nedir to srbiji go. homemade

Nolvadex 20 Mg Price

buy nolvadex prescription
nolvadex no rx
best nolvadex brands
finiti i 5 anni di nolvadex
nolvadex for research purposes
nolvadex eod


nolvadex side effects reviews
nolvadex on cycle gains
nolvadex pct winstrol
nolvadex prescription gyno
nolvadex existing gyno
price of nolvadex south africa
buy nolvadex paypal
is nolvadex illegal in australia
australian nolvadex 600mg
order tamoxifen no prescription
arimidex nolvadex together testosterone
nolvadex buy steroid
nolvadex knee pain
buy tamoxifen citrate australia
nolvadex and tren pct
nolvadex uses in men
nolvadex for gynecomastia
nolvadex arimidex gyno
letrozole and nolvadex for gyno
nolvadex generic name
nolvadex for sale philippines
novedex vs nolvadex
nolvadex before and after
nolvadex and weight loss
how much liquid nolvadex
nolvadex 40 mg
dianabol nolvadex thailand
nolvadex 6-0x0
nolvadex pct test
nolvadex bodybuilding dosage
nolvadex acne
tamoxifen nolvadex side effects
how much does nolvadex cost
nolvadex arimidex for pct
nolvadex during cycle gains
nolvadex 10 patient information leaflet uk pdf
nolvadex substitute
40mg nolvadex at once
nolvadex mood swings
nolvadex during cycle or after it
nolvadex pct online
taking test e without nolvadex
nolvadex au canada
nolvadex side effects birth control
buy nolvadex d 20
where to buy tamoxifen citrate
buy nolvadex england
nolvadex kup online
ip nolvadex pills
nolvadex standalone pct
hcg with nolvadex
nolvadex vs arimidex anabolic steroids
nolvadex before comp
nolvadex zitazonium 10mg
nolvadex buy usa
nolvadex pct much
nolvadex 40mg pct
nolvadex dosage during cycle
nolvadex instructions
nolvadex steroid novedex
nolvadex for pct how much
nolvadex dejstvo
nolvadex gynecomastia
nolvadex 25mg fake

letrozole or nolvadex
nolvadex pct bodybuilding forums
lab alues for nolvadex
nolvadex india chennai
nolvadex buy online no prescription
nolvadex your body
nolvadex next day
nolvadex substitutes
nolvadexgaspari

nolvadex detectie
nolvadex vs arimidex steroids
nolvadex hcg arimidex
nolvadex 20mg what is for
nolvadex for gyno treatment
buy nolvadex research chemical
nolvadex 10mg used
dosage for nolvadex for pct
nolvadex vs novedex xt
where to purchase nolvadex
nolvadex side effects for bodybuilders
40 mg of nolvadex gyno
nolvadex 10 mg pills
purchase nolvadex canada
nolvadex tabs liquid
nolvadex estrogen rebound
nolvadex for sale 20 mg
nolvadex steroid prohormone
nolvadex pct testosterone
order tamoxifen
female proviron nolvadex cycle
nolvadex in australia
buy tamoxifen uk

nolvadex men online
nolvadex steroid forum
buy tamoxifen steroids
nolvadex gyno rebound
nolvadex buy cheap
60 mg nolvadex
for male how tamoxifen citrate tablets ip 10 mg useful
nolvadex 10mg tamoxifen
buy tamoxifen online
nolvadex legit
buy nolvadex information
nolvadex questions
nolvadex buy tamoxifen
nolvadex online forum
nolvadex dosage on cycle not to hinder gains
nolvadex 5mg
nolvadex research tablets
nolvadex with case l on bottle
nolvadex 60 mg muscle loss
nolvadex drops 20mg
buy nolvadex online cheap
nolvadex side effects males
buy nolvadex south africa
nolvadex cost
nolvadex cycle post cycle
nolvadex tren pct
nolvadex cycle dianabol
nolvadex research grade
nolvadex information
how to arimidex and nolvadex in india
arimidex nolvadex water loss
buy tamoxifen citrate tablets
nolvadex dosage on cycle
bad side effects nolvadex
tamoxifen or nolvadex
nolvadex australia for gynacamastia
nolvadex eyesight
nolvadex side effects back pain
order nolvadex 20mg
nolvadex dosage gynecomastia
nolvadex libido loss

nolvadex zitazonium
dose of nolvadex keep muscle mass
nolvadex 25
nolvadex 10 effect
nolvadex vitamin shoppe
buy nolvadex london
skillnad mellan tamoxifen sandoz och tamoxifen novadex
nolvadex and deca
viridex e nolvadex
nolvadex for sale uk
detection time of nolvadex
will nolvadex increase libido
nolvadex liquid or pills
liquid nolvadex for sale
nolvadex pct depression
nolvadex ireland
nolvadex arimidex interaction
nolvadex generic online
nolvadex how to take it
nolvadex cycle

buy nolvadex shipped overnight
nolvadex tamoxifen uk
nolvadex pct to buy
nolvadex benefits for men
legal research nolvadex
buying nolvadex in bali
nolvadex cycle test
nolvadex tamoxifen for sale
nolvadex canadian pharmacy
can nolvadex cause an estrogen rebound
how to cycle nolvadex
buy tamoxifen citrate liquid
nolvadex reviews bodybuilding
nolvadex steroid stack
nolvadex tamoxifen citrate anabolic
nolvadex citrate 40mg for sale
nolvadex during cycle pct
nolvadex treatment gynecomastia

nolvadex hcg for pct
nolvadex kick
buy nolvadex gyno
tamoxifen dosage for men
buy nolvadex pct in north carolina
nolvadex libido increase
best place to buy nolvadex online
nolvadex dosage hcg
nolvadex on cycle gynecomastia
nolvadex street price
nolvadex cycle steroids
buy nolvadex 10mg
how to buy nolvadex in canada
nolvadex cycle tren
nolvadex dianabol
effets secondaires nolvadex
armex pharmaceuticals nolvadex
nolvadex gyno results
nolvadex how much to take
nolvadex women dosage
nolvadex dosage in pct
hcg and nolvadex pct
nolvadex hcg stack

side effects of nolvadex in men
nolvadex generic pct
nolvadex 10 mg 60
clenbuterol nolvadex cycle
nolvadex pct forum
using nolvadex during cycle
nolvadex 93 782
nolvadex sale uk

buy nolvadex united states
nolvadex pct dianabol
how does nolvadex work for ct
nolvadex results gyno
nolvadex steroid info
nolvadex morning or night
buy tamoxifen citrate bulk
nolvadex side effects impotence
nolvadex novadex
liquid nolvadex side effects
nolvadex pct pills
nolvadex dose bodybuilding
nolvadex cycle assist
nolvadex 20mg buy
nolvadex igf-1 pct
nolvadex for high blood pressure
nolvadex tren
nolvadex pct for test e
tamoxifen citrate buy no prescription
nolvadex tabs buy
nolvadex cancer steroids
nolvadex gyno steroids
taking tamoxifen can you taking lingzhi
nolvadex mental slowness
buy nolvadex 10 mg
nolvadex gyno bodybuilding
nolvadex men side effects
buy nolvadex from uk
where to buy nolvadex online
nolvadex 20 mg pct how long
nolvadex tamoxifen citrate sale
nolvadex results
novedex xt vs nolvadex
nolvadex dosage forms
nolvadex fat loss bodybuilding
nolvadex steroid gyno
buy nolvadex online with no prescription
nolvadex wiki
nolvadex reviews
nolvadex tamoxifen order
nolvadex tablets side effects
nolvadex vs arimidex
nolvadex gyno treatment cycle
buy tamoxifen citrate india
nolvadex 500g pills what they are
buy nolvadex safe
nolvadex use in men
nolvadex for pct steroids
nolvadex men take
nolvadex gyno buy
nolvadex pct about
nolvadex liquid dosage
buy nolvadex new zealand
nolvadex dose pct
where to buy liquid nolvadex
buy tamoxifen mexico
nolvadex 50 mg
where to buy nolvadex in kl
novedex xt nolvadex
nolvadex manufacturer india
nolvadex in men top boost testosterone
nolvadex pct australia
nolvadex cycle bodybuilding
buy tamoxifen bodybuilding
nolvadex tab 10mg
buy tamoxifen drug
nolvadex hcg
nolvadex jcb
nolvadex tamoxifen side effects
buy tamoxifen tablets
thailand nolvadex
nolvadex gynecomastia dosage steroids 40mg
where to buy nolvadex for pct
how long nolvadex bodybuilding
cost of nolvadex
research chemical serm nolvadex
nolvadex tamoxifen india
nolvadex uses for men
how to buy nolvadex


  • buy zithromax single dose uk
  • propecia purchase
  • cheapest propecia online
  • lexapro 10 mg buy
  • brand cialis products
  • cialis canada cheap
  • buy orlistat tablets uk
  • no prescription viagra canada
  • propecia cost
  • flagyl online no rx
  • where to buy cialis cheap online
  • propecia tablets for sale
  • online cialis rx
  • cheap viagra no prescription
  • lexapro user reviews at drugs.com
  • Cialis canada 20mg
  • Where to buy propecia online uk
  • Cialis professional buy
  • Flagyl buy online canada
  • Cialis no prescription usa
  • Lexapro cash price
  • Zithromax loading dose
  • Viagra purchase safe
  • Zovirax online no prescription
  • Buy lexapro fedex
  • Cheap viagra professional
  • Propecia reviews male pattern baldness
  • Viagra 25mg tablets
  • Generic plavix clopidogrel
  • Discount generic viagra india
  • Viagra online fast delivery
  • How to wean off lexapro 5mg
  • Buy levitra using paypal
  • Cheap viagra
  • Generic flagyl no prescription
  • Cheap viagra online from uk
  • Flagyl price at walgreens
  • Cialis professional generic
  • Cialis no prescription
  • Buy viagra tablets online
  • Propecia paypal
  • Viagra price wholesale
  • Buy orlistat 120mg canada
  • Viagra cheapest in canada
  • Levitra 20mg generic
  • Buy cialis cheap online
  • Buy propecia women
  • Eli lilly cialis online
  • No prescription flagyl 500 mg
  • Buy bactrim europe
  • Buy propecia pills india
  • Buy lasix furosemide cheap
  • Flagyl purchase of
  • Buy viagra from canadian pharmacy
  • Lexapro 10 mg medication
  • Cheap cialis super
  • Zovirax 200mg 5ml oral suspension
  • Levitra price at walmart
  • Generic viagra in the uk
  • Cialis price south africa
  • Cialis com free offer canada
  • Canada viagra 50mg
  • Levitra 20 mg for sale
  • Generic viagra vs brand name
  • Buy nolvadex online australia
  • Cialis prices walgreens
  • Cialis pricing
  • Generic cialis tadalafil 20mg
  • Lisinopril generic name
  • Buy clomid no prescription online
  • Buy lexapro from canada
  • Levitra professional cheapest
  • Flagyl generic brand
  • Cialis online hong kong
  • Cheap propecia ireland
  • Explorando la Categoría: "Buy Nolvadex Generic, Nolvadex 20 Mg Price @@ Online Review Tamoxifen"

    Mostrar tweets relacionados con Realtime Related Tweets

    Buy Nolvadex Generic, Nolvadex 20 Mg Price @@ Online Review Tamoxifen

    David | 2/10/2009

    Realtime-Related-Tweets-BarHoy he descubierto un plugin de jQuery que es verdaderamente útil. Se trata de Realtime Related Tweets, un plugin con el que, según los tags del artículo que se este visualizando, se mostrarán los últimos tweets del usuario que quieras. El plugin obtiene los tags de los enlaces con el atributo rel=”tag”.
    Características:

    1. Muestra los tweets relacionados con el post según los tags de el artículo.
    2. Muestra tu línea de tiempo de twitter, relacionado con el post o no, según se quiera.
    3. Devuelve solo tweets con enlaces o no, según se configure.
    4. Limita los tweets a 1 o más usuarios. (from/to/mention users!)
    5. Limita los tweets por geolocalización.
    6. And y Or en las busquedas.
    7. Efectos de transicion como opacity, height, font-size.
    8. Fácil personalización por CSS.
    9. Muestra o esconde algunas partes como el avatar, nombre del author, fecha.
    10. Implementación mediante Buy Nolvadex Generic, Nolvadex 20 Mg Price @@ Online Review Tamoxifen o mediante un autoload usando un fiv con la clase “related-tweets”.

    Modo de empleo

    Con Autoload

    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js" type="text/javascript"><!--mce:0--></script>
    <script src="http://realtime-related-tweets-bar.googlecode.com/files/jquery.relatedtweets-1.0.min.js" type="text/javascript"></script>
     
    <div class="related-tweets">Cargando..</div>

    Autoload con opciones

    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js" type="text/javascript"></script>
    <script src="http://realtime-related-tweets-bar.googlecode.com/files/jquery.relatedtweets-1.0.min.js" type="text/javascript"></script>
     
    <div class="related-tweets" options="{
       debug:true
       ,from_users:'TechCrunch,mashable'
       ,links_only:1
       ,animate:'fontSize'
       ,enter_time:500
    }">Cargando..
    </div>

    Sin Autoload

    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
    <script type="text/javascript" src="http://realtime-related-tweets-bar.googlecode.com/files/jquery.relatedtweets-1.0.min.js"></script>
     
    <script type="text/javascript">  
       $(document).ready(function(){
          $('#rrt').relatedTweets({
             debug:true
             ,from_users:'Mike_More'
             ,status:1
             ,realtime:0
             ,n:20
             ,show_avatar:0
             ,show_author:0
          });
       });
    </script>
     
    <div id="rrt">Cargando..</div>

    Se puede obtener más información en more tech tips o en la página de Google Code donde se aloja el proyecto. También se puede ver un ejemplo en la página de Google Code.

    Return to the Mobile Edition.

    Como llevar las estadísticas de los comentarios de tu blog con Google Analytics

    APIs, Buy Nolvadex Generic, Nolvadex 20 Mg Price @@ Online Review Tamoxifen, SEO

    David | 24/09/2009

    El seguimiento de eventos en Google Analytics es una herramienta muy potente y útil. En esta ocasión la he implementado en el blog como prueba para llevar las estadísticas de los comentarios que se van recibiendo. La finalidad es curiosear con la herramienta, conocerla un poco más y comprobar el comportamiento de los lectores de nosolocodigo.

    Para gestionar el control de eventos, he creado la categoría Blog, y la acción Comentario. El Label es la URL de la página donde se realiza el comentario, de esta forma, cuando vaya a contenido > Seguimiento de eventos, podré ordenar los resultados por número de comentarios por artículo.

    Para implementarlo, he utilizado jQuery, aunque sería muy sencillo hacerlo con otra librería o incluso sin ninguna. Como utilizo WordPress, me he dirijído a los ficheros del theme, y he abierto el fichero comments.php, donde se encuentra el código necesario para enviar comentarios. Al abrirlo, me encuentro con algo como lo que se muestra a continuación.

    
    
    <form action="<?php echo get_option('siteurl'); ?>/wp-comments-post.php" method="post" id="commentform">;
    
    <?php if ( $user_ID ) : ?>
    <p>
        Has ingresado como <a id="url" href="<?php echo get_option('siteurl'); ?>/wp-admin/profile.php">
    <?php echo $user_identity; ?></a>.
        <a href="<?php echo get_option('siteurl'); ?>/wp-login.php?action=logout" title="Salir de esta cuenta">Salir</a>
    </p>
    
    <?php else : ?>
    <p>
        <input type="text" name="author" id="author" value="<?php echo $comment_author; ?>" size="22" tabindex="1" />
        <label for="author"><small>Nombre <?php if ($req) echo "(Requerido)"; ?></small></label></p>
    <p>
        <input type="text" name="email" id="email" value="<?php echo $comment_author_email; ?>" size="22" tabindex="2" />
        <label for="email"><small>Email (No será publicado) <?php if ($req) echo "(requerido)"; ?></small></label>
    </p>
    <p>
        <input type="text" name="url" id="url" value="<?php echo $comment_author_url; ?>" size="22" tabindex="3" />
        <label for="url"><small>Website o Blog</small></label>
    </p>
    <?php endif; ?>
    <p>
        <textarea name="comment" id="comment" cols="100%" rows="10" tabindex="4"></textarea>
    </p>
    <p>
        <input name="submit" type="submit" id="submit" tabindex="5" value="Enviar Comentario" />
        <input type="hidden" name="comment_post_ID" value="<?php echo $id; ?>" />
    </p>
    
    <?php do_action('comment_form', $post->ID); ?>
    </form>
    

    El input de tipo submit que se encuentra al final del formulario es el encargado de enviar la información del formulario al servidor. Para interceptar el evento click, introduzco el siguiente código de jQuery, que define un handler que avisa a Google Analytics para que se registre el evento. El código se muestra a continuación.

    
    jQuery('#commentform input[type = submit]').click(function(){
          pageTracker._trackEvent('Blog' , 'Comentario' , document.location.pathname,document.getElementById('comment').value.length  );
    });
    

    Explicación:
    El método _trackEvent admite 4 parámetros:

    1. Nombre de la categoría.
    2. Nombre de la acción.
    3. Nombre de la etiqueta. El pathname de la URL.
    4. Valor numérico del evento, en este caso el número de caracteres que contiene el comentario.

    Con esto ya se empezarán a registrar todos los comentarios en Google Analytics. Ahora vamos a ver que datos obtenemos.

    Cuando entramos a Google Analytics, vamos a Contenido > Seguimiento de eventos. Después pulsamos sobre Categorías y seleccionamos la categoría Blog. En la categoría Blog seleccionamos la acción Comentario, y se muestra algo como lo que se puede ver en la imagen.

    comentariosOrden

    Después, si quieres puedes definir un segmento avanzado para que se filtren las visitas que hayan hecho un comentario y poder realizar informes más precisos. Una vez realizado el segmento avanzado, si pulsas sobre Panel, se verá algo como lo siguiente.

    segmentoAvanzadoComentarios

    Ahora, si vas a Usuarios, puedes obtener más información sobre los usuarios que comentan en tu blog. Los datos se empiezan a mostrar a partir del día 10 de Septiembre, como se puede ver en el gráfico, día en que puse el código de seguimiento.

    Datos de los usuarios por ubicación

    Datos de los usuarios por ubicación


    Datos de los usuarios por ubicación en España

    Datos de los usuarios por ubicación en España

    Como curiosidad decir que el 100% de las personas que comentan aquí usa Firefox. El 86% usa Windows , el resto Linux.

    Return to the Mobile Edition.

    Controla las imágenes rotas de tu web con jQuery y Google Analytics

    APIs, Buy Nolvadex Generic, Nolvadex 20 Mg Price @@ Online Review Tamoxifen

    David | 15/09/2009

    Imagen no encontradaHay pocas cosas más feas que el icono que se muestra cada vez que se intenta cargar una imagen y por algún motivo no se encuentra. Este icono resulta muy feo, además de provocar en el usuario la sensación de que el sitio web está descuidado y con errores.
    Una solución podría ser visitar todo el sitio en busca de imágenes no encontradas y arreglando el problema uno a uno, aunque no creo que tengas ganas de hacerlo, la verdad, sobre todo en sitio que tienen bastantes páginas.

    Existe otra solución mucho más inteligente que pasa por usar Buy Nolvadex Generic, Nolvadex 20 Mg Price @@ Online Review Tamoxifen y jQuery puede ayudarnos mucho en esta tarea.

    Esta solución consiste en poner un pequeño código Buy Nolvadex Generic, Nolvadex 20 Mg Price @@ Online Review Tamoxifen en la plantilla de tu web que nos avise cuando encuentre alguna imagen rota. Se supone que se tiene cargado el framework jQuery y el código de Google Analytics ga.js.

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    
    $(document).ready(function() {
    		$('img').error(function() {
    			pageTracker._trackEvent('Blog', 'Imagen_rota', $(this).attr('src'));
    			$(this).attr({
    				src: 'http://www.nosolocodigo.com/imagen-rota.jpg',
    				alt: 'Lo siento, imagen no disponible.',
    				style:'border: 1px solid #000000;'
    			});
    		});
    });

    El código recorre todas las imágenes de la página y les asigna una función al evento error. El evento error se dispara cuando una imagen no se ha podido cargar por cualquier motivo, generalmente porque no se encuentra disponible en la ruta especificada. La función envía un evento a Google Analytics con la categoría Blog, acción Imagen_rota y una etiqueta con el atributo src, es decir, la imagen que no carga debidamente.

    Después de reportar el evento a Google Analytics, se cambia la imagen por una imagen creada a nuestro gusto que indique al usuario que la imagen pedida no está disponible, de esta forma queda todo mucho más homogéneo y el usuario sabe que la imagen no se ha cargado. También se le añade un atributo alt y un estilo inline, esto último queda a gusto del consumidor. De esta forma el usuario no tiene que verse el horrible icono de la discordia cada vez que una imágen no se encuentre disponible.

    Otra opción sería reportar a Google Analytics y eliminar la imagen para que no aparezca nada, en este caso el código a utilizar sería el siguiente:

    1
    2
    3
    4
    5
    6
    
    $(document).ready(function() {
    		$('img').error(function() {
    			pageTracker._trackEvent('Blog', 'Imagen_rota', $(this).attr('src'));
    			$(this).remove();
    		});
    });

    Una vez puesto esto solo falta esperar a recibir los informes de Google Analytics, ir a la sección Contenido > Seguimiento de Eventos y consultar la categoría Blog. Luego pinchar la acción Imagen_rota y aparecerá una lista de URLs con imágenes que por algún motivo no se han podido cargar.

    Return to the Mobile Edition.

    Seguimiento de eventos con el API de Google Analytics

    APIs, Buy Nolvadex Generic, Nolvadex 20 Mg Price @@ Online Review Tamoxifen, SEO

    David | 11/09/2009

    Logo de Google AnalyticsGoogle Analytics es uno de los mejores sistemas para llevar las estadísticas de un sitio web. Además de tener un panel de control muy completo, mediante el cual observar y medir las estadísticas de nuestra web, también tiene un API Buy Nolvadex Generic, Nolvadex 20 Mg Price @@ Online Review Tamoxifen que permite llevar a cabo métricas más afinadas, como por ejemplo medir eventos de interfaz de usuario.El uso normal que se le da a Google Analytics una vez instalado, e ver las páginas vistas, las visitas, el navegador más utilizado del sitio, el porcentaje de rebote…Con el API de Google Analytics se puede ir un paso más allá y llevar la cuenta de eventos personalizados, lo que los de Google llaman seguimiento de eventos (event tracking). También se pude llevar la cuenta de los enlace salientes, es decir, cuales son las páginas externas de tu sitio que la gente más visita, llevar la cuenta de eventos de usuario, como darle al play en un video, pasar las diapositivas de un slideshow, etc… Otro uso interesante que se le puede dar a Google Analytics es, por qué no, llevar las estadísticas de las excepciones lanzadas por Buy Nolvadex Generic, Nolvadex 20 Mg Price @@ Online Review Tamoxifen en tu sitio web, es decir, usar Google Analitycs como herramienta de reporte de errores de tu aplicación Buy Nolvadex Generic, Nolvadex 20 Mg Price @@ Online Review Tamoxifen.

    El seguimiento de eventos se introdujo con el fichero ga.js. Hasta entonces, para seguir eventos de usuario había que crear URLs virtuales, luego se contaban las visitas de esa URLs y se podía saber cuantas veces se había efectuado el evento. El problema es que con esta forma de manejar los eventos, al número de visitas se le sumaba el número de eventos, por lo que pierdes veracidad en el análisis del sitio al inflarse las estadísticas. Por lo tanto es mejor usar eventos.

    Implementación con Buy Nolvadex Generic, Nolvadex 20 Mg Price @@ Online Review Tamoxifen

    En todo momento se supone que se ha cargado la librería ga.js que proporciona Google Analytics para llevar el seguimiento, como se muestra a continuación.

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    
     
    <script type="text/javascript"> 
    var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
    document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
    </script> 
    <script type="text/javascript"> 
    var pageTracker = _gat._getTracker("TuClaveDeAnalytics");
    pageTracker._initData();
    pageTracker._trackPageview();
    </script>

    Imagina que quieres llevar un control del número de personas que pincha sobre el icono RSS del blog y del número de personas que se suscribe al RSS por email mediante el formulario de FeedBurner.
    Para ello se puede crear la categoría RSS, y la acción “click” para cuando se haga click, y submit para cuando se envíe un formulario. Las etiquetas sirven para diferenciar las acciones, por ejemplo si tengo 3 iconos diferentes de RSS, puedo ponerle a cada uno la categoría “RSS”, acción “click”, pero cambiarles las etiquetas, y ponerle (por ejemplo) a uno “icono_grande”, “icono_footer” e “icono_barra_lateral”. De esta forma se pueden diferenciar claramente en que icono se ha hecho click, y saber que icono es el que llama más la atención a los usuarios.

    Número de gente que pincha sobre el enlace del Feed/Twitter

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    
     
    Icono de RSS que enlaza a mi feed
    <a href="http://feeds.feedburner.com/nosolocodigo" id="enlace_feed">
    	<img src="icono_rss.jpg" />
    </a>
     
     
    Formulario de envío del email
    <form  id="suscribete_email">
    <input type="text" >
    <input type="submit" value="Enviar" id="enviar_email" />
    </form>
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    
     
    /* Sintaxis:  pageTracker._trackEvent('Categoría', 'acción', 'etiqueta');" */
     
    /* Código que realizará el seguimiento */
    /*Se presupone que se ha cargao la librería y las llamadas se están realizando en el evento ready*/
     
    $('#enlace_feed').click(function(){
          pageTracker._trackEvent('RSS', 'click', 'Icono');
    });
     
    $('# enviar_email ').click(function(){
          pageTracker._trackEvent('RSS', 'submit', 'formulario de envío');
    });

    Una vez Google reciba los datos, accede a tu panel de control, en la sección Contenido > Seguimiento de eventos.
    Seguimiento de eventos con Google Analytics y Buy Nolvadex Generic, Nolvadex 20 Mg Price @@ Online Review Tamoxifen

    Seguimiento de enlaces salientes

    Puede resultar muy útil saber a que sitios se quieren dirigir nuestros usuarios. Si el enlace en el que pinchan es interno, Analytics nos lo dirá, por que la página de destino lleva el código de seguimiento y lo registra. Pero si el enlace es de un dominio que no manejamos nosotros Analytics no lo puede saber. Para averiguarlo podemos generar un evento cada vez se haga click en cualquier enlace que no sea de nuestro dominio, y enviar la URL de destino como etiqueta del evento. Mira el ejemplo y verás.

    Mootools

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    
    window.addEvent('load', function() {
       if(pageTracker) {
    	$$('a[href^=http]').each(function(el) {
     
    		if(!el.get("href").match('^http://nosolocodigo.com') || !el.get("href").match('^http://www.nosolocodigo.com')){
     
    			el.addEvent('click',function() {
    				var destino =  el.get('href').replace('http://','');
                                            pageTracker._trackEvent('External', 'Click', destino );  
    			}.bind(this));
     
    		}
    	});
       }
    });

    jQuery

    1
    2
    3
    4
    5
    6
    7
    8
    9
    
    $('a').each(function(){  
           var href = $(this).attr('href');  
     
           if ((href.match(/^https?\:/i)) && (!href.match(document.domain))){  
                  $(this).click(function() {  
                      var destino = href.replace(/^https?\:\/\//i, '');  
                      pageTracker._trackEvent('External', 'Click', destino );  
                  });  
           }

    Tiempo de carga de la página

    Un dato interesante es el tiempo que tarda en cargar la página de media a nuestros usuarios, de esta forma podemos saber si tenemos que optimizar la velocidad o no. Google Analytics no informa de este dato, pero se puede generar un evento que envíe el tiempo que tarda en cargar la página, y luego ver cual es la velocidad media con la que se carga nuestra web. Una aproximación muy buena es la que hacen en panalysis. Para calcular el tiempo que tarda en cargar la página (aproximadamente) hay que poner este código en el head.

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    
     
    var inicio = new Date;
     
    function trackPageLoadTime()
    {
    	var fin = new Date;
     
    	mlsegundos = fin.getTime() - inicio.getTime();
            valoracion = "";
            if(mlsegundos  < 2000){
                valoracion = "Muy Rapido";
            }else if(mlsegundos  < 5000){
                valoracion = "Rapido";
            }else if(mlsegundos  < 10000){
               valoracion = "Medio-Lento";
            }else if(mlsegundos  < 30000){
                     valoracion = "Lento";
            }else{
                    valoracion = "Catastrofe";
            }
    	pageTracker._trackEvent("Page load time" , valoracion , document.location.pathname ,  Math.round(mlsegundos /1000));
     
    }
    window.onload = trackPageLoadTime;

    Si te fijas, ahora utilizamos un cuarto parametro. Este parametro es el valor, y ha de ser un entero. Por tanto al final queda de la siguiente manera: Categoría->Page load time, Acción-> valoracion (Rapido, muy rapido…), Etiqueta-> path, Valor->Tiempo en segundos.

    Más ocurrencias

    Haciendo un uso inteligente de los bloques try/catch/finally podemos saber si nuestros usuarios tienen errores en la aplicación o no. Puede resultar útil para depurar aplicaciones que ya están en marcha, obteniendo datos estadísticos bastante jugosos, como por ejemplo, haciendo uso de los segmentos avanzados podemos saber que navegador genera más errores, que sistema operativo, si las conexiones lentas son más propicias a errores que las rápidas, si la tasa de errores es muy elevada…En fin, mucha información. Implementarlo es muy simple, mira este pequeño ejemplo.

    1
    2
    3
    4
    5
    6
    7
    
    try{
       	//Codigo javascript
     
    }catch(err){
     
     	pageTracker._trackEvent(DEBUG, excepciones, err.description);
     }

    Otro posible uso sería en formularios. En el evento click del botón de envío, al hacer las validaciones, puedes llevar un log y ver cuantas veces el usuario se está equivocando al rellenarlo. De esta forma puedes obtener datos y saber si el formulario es usable o no.

    Otros usos interesantes del API de Google Analytics

    • Páginas AJAX incrustadas. Páginas que se van recargando asíncronamente, como Tuenti o Facebook, no podrían llevar la cuenta de visitas si no fuera por estas características. En este caso sería mejor usar el evento trackPageView(“/URL”)
    • Descarga de ficheros. Contabilizar cuantas veces se descarga un fichero. Se pueden utilizar etiquetas para diferenciar entre ficheros. Una buena catalogación sería: Categoría-> Ficheros, Acción->PDF/ZIP/RAR/DOC…, Etiqueta->Nombre del fichero. Utilizar un sistema de nombrado coherente es esencial.
    • Llevar un control estadístico de los comentarios que te hacen en el blog. Generando un evento cada vez que alguien envíe un comentario podemos sacar muy buen información, como a que horas se comenta más, que perfil de gente comenta más; los usuarios recurrentes o los nuevos, en que países te comentan más… se me hace la boca agua…). Una buena catalogación sería: Categoría-> Blog, Acción->Comentario, Etiqueta->URL_articulo/nombre_usuario.

    Creo que con estos ejemplos queda clara la potencia de los eventos de Google Analytics, que si encima lo combinamos con los nuevos frameworks Buy Nolvadex Generic, Nolvadex 20 Mg Price @@ Online Review Tamoxifen, como jQuery o Mootools, te permite hacer cosas, que años atrás hubieran resultado imposibles. Próximamente más tips de Google Analytics.

    Return to the Mobile Edition.

    16 alternativas para crear una galería de contenido destacado usando jQuery

    Buy Nolvadex Generic, Nolvadex 20 Mg Price @@ Online Review Tamoxifen

    David | 4/09/2009

    galería de contenido destacado

    Los sliders de contenido destacado se han puesto de moda, y la verdad es que son una forma bonita y elegante de tener siempre en primera página el contenido más relevante de tu sitio, de forma que los lectores que lleguen por casualidad tengan siempre un rápido acceso a él y la oportunidad de leerlo.

    Últimamente he estado planteándome la idea de introducir uno de estos en mi blog. Para ello necesito usar jQuery, ya que es el framework que uso en el blog, así que durante este último mes he estado anotando cada script o plugin de jQuery que permitiera crear este tipo de efectos. El resultado final es este, una recopilación de 16 formas diferentes de crear un scroll/galería de contenido destacado en un sitio web usando jQuery.

    Aunque he visto más scripts por ahí, estos son para mi gusto los que más adecuados, pero si tú conoces alguno que crees que debería ser incluido y me lo he dejado, indícalo en los comentarios. Seguir leyendo la recopilación de galerías para jQuery

    Return to the Mobile Edition.

    Superfish, plugin de jQuery para implementar cualquier tipo de menú desplegable

    Hoy he descubierto Superfish, un plugin para jQuery con el que se pueden crear todo tipo de menús desplegables. Superfish pone el comportamiento del menú, luego tu aplicas el CSS que quieras. El resultado es muy bueno.
    Por : David           1

    Como crear un widget de Twitter con Buy Nolvadex Generic, Nolvadex 20 Mg Price @@ Online Review Tamoxifen y el API AJAX de Google para feeds

    APIs, Buy Nolvadex Generic, Nolvadex 20 Mg Price @@ Online Review Tamoxifen

    David | 26/08/2009

    Hoy he necesitado cargar un RSS externo desde una web, y había que hacerlo con Buy Nolvadex Generic, Nolvadex 20 Mg Price @@ Online Review Tamoxifen. El problema es que desde Buy Nolvadex Generic, Nolvadex 20 Mg Price @@ Online Review Tamoxifen solo se puede hacer peticiones asíncronas a URL’s de tu propio dominio, debido a restricciones de seguridad.

    El otro día estuve viendo cómo cargar los frameworks más famosos y las API’s de Google desde el CDN de Google. Google también permite cargar sus API’s AJAX mediante este método, y entre estas API’s se encuentra el API AJAX de Google para feeds, que permite cargar cualquier RSS de cualquier dominio haciendo uso solamente de Buy Nolvadex Generic, Nolvadex 20 Mg Price @@ Online Review Tamoxifen, eliminando la necesidad de crear un proxy en el servidor, ya que Google lo crea por ti. Las ventajas están bastante claras:

    1. Menos lógica en el servidor.
    2. Menos sobrecarga en el servidor
    3. Las ventajas de usar un CDN externo para cargarBuy Nolvadex Generic, Nolvadex 20 Mg Price @@ Online Review Tamoxifen.

    La dirección del feed RSS que voy a utilizar es la de mi cuenta de Twitter. Para obtener la dirección solamente hay que abrir el enlace que proporciona Twitter en su página web.

    Obtener la URL del feed de twitter

    Usando el objeto FeedControl

    El objeto FeedControl, permite añadir todos los feeds que quieras mediante le método addFeed y luego, mediante el método draw, inyecta el contenido de estos en el elemento DOM especificado.

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    
    <script type="text/javascript" src="http://www.google.com/jsapi"></script>
    <script type="text/javascript">
    	google.load("jquery", "1.3.2");
    	google.load("feeds", "1");
     
    	function inicio() {
    		var feedControl = new google.feeds.FeedControl();
                    feedControl.addFeed("http://twitter.com/statuses/user_timeline/29672915.rss", "Twitter");
                    feedControl.draw(document.getElementById("contenedor"));
    	}
    	google.setOnLoadCallback(inicio);
     
     
    </script>

    El código HTML se muestra a continuación:

    1
    2
    3
    
       <body>
             <div id="contenedor" > </div>
       </body>

    En el div identificado con la palabra “contenedor” se cargará automáticamente el contenido del Feed. En la imagen se puede observar el resultado.

    widget de twitter con API AJAX de Google

    Luego, viendo el código HTML generado mediante un inspector HTML como Firebug o el que trae IE 8, se puede crear un código CSS para cambiarle la apariencia. Este método es muy cómodo, pero si se necesita más control sobre el código generado se puede utilizar el objeto Feed, que proporciona más control.

    Usando el objeto Feed

    El objeto Feed permite cargar el documento XML que compone el Feed y tratarlo como un objeto JSON (comportamiento por defecto). Después se itera sobre el objeto JSON y se inyecta directamente sobre el DOM de la página.

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    
    <script type="text/javascript" src="http://www.google.com/jsapi"></script>
    <script type="text/javascript">
    google.load("feeds", "1");
     
    function inicio() {
            var feed = new google.feeds.Feed("http://twitter.com/statuses/user_timeline/29672915.rss");
    	feed.setNumEntries(3); //Por defecto son 4
    		feed.load(function(result) {
    			if (!result.error) {
    				var contenedor = document.getElementById("contenedor");
    				var tmpStr = "";
    				tmpStr += "<h2> <a href='"+result.feed.link+"'> " + result.feed.title + "</a></h2>";
    				contenedor.innerHTML +=  tmpStr;
     
    				for (var i = 0; i < result.feed.entries.length; i++) {
    					var entry = result.feed.entries[i];
    					var tmpStr = "";
    					tmpStr += "<div class='entrada'> ";
    					tmpStr += "<img src='twitter.png' alt='Icono de Twitter' class='icono' /> ";
    					tmpStr += "<div class='contenido'><a href='"+entry.link+"'>"+ entry.contentSnippet + "</a></div>";
    					var fecha = entry.publishedDate.split(" ");
    					tmpStr += "<div class='fecha'> " + fecha[1]+ " " +fecha[2]+" " + fecha[3]+ " "+ fecha[4]+"</div>";
    					tmpStr += "</div> ";
    					contenedor.innerHTML +=  tmpStr;
    				}
     
    			}
    		});
    }
     
    google.setOnLoadCallback(inicio);
     
    </script>

    Breve explicación del código:

    1. En el constructor del objeto Feed se pasa como parámetro la URL del feed RSS.
    2. El método setNumEntries establece el número de items descargados del feed.
    3. El método load carga el feed en la variable result.
    4. result.feed.entries es un array de objetos con la información de cada item del feed. Se itera sobre este array y se va inyectando la información de los feed en el DOM.

    El código HTML es el mismo que el usado en el primer ejemplo. Luego con un poco de CSS se le da un poco de apariencia al widget.

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    
     
    *{
    margin:0;
    padding:0;
    }
    #contenedor{
    	width:280px;
    	padding-left:15px;;
    }
    #contenedor h2 a{
    	color:#FF4D07;
    	font-size:20px;
    	font-family:"Trebuchet MS";
    	text-decoration:none;
    }
    div.entrada{
    	margin:10px;
     
    }
    div.entrada img.icono{
    	float:left;
    	margin-right:15px;
    }
    div.contenido a{
    	color:#09399F;
    	text-decoration:none;
    }
    div.fecha{
    	font-family:"Trebuchet MS";
    	font-size:12px;
    	color: #7F7F7F;
    }

    El resultado final es este:

    widget de twitter creado con el API de Google para feeds

    Conclusión

    La potencia de esta API está bastante clara, nos proporciona una forma rápida y cómoda de acceder a los feeds RSS de cualquier parte. Teniendo en cuenta que ahora hay muchos servicios como redes sociales, etc… que proporcionan esta información mediante RSS, nos abre un abanico de posibilidades a la hora de mejorar nuestros diseños añadiendo información en tiempo real sobre, por ejemplo, nuestros últimos tweets.

    Enlaces relevantes

    Return to the Mobile Edition.

    Como cargar tu framework Buy Nolvadex Generic, Nolvadex 20 Mg Price @@ Online Review Tamoxifen más rápido usando el CDN de Google

    APIs, Buy Nolvadex Generic, Nolvadex 20 Mg Price @@ Online Review Tamoxifen

    David | 21/08/2009

    API de bibliotecas AJAx de Google

    El API de bibliotecas AJAX de Google es una red de distribución de contenidos (CDN) creada por Google, que ofrece un servicio para que los desarrolladores web puedan cargar los frameworks Buy Nolvadex Generic, Nolvadex 20 Mg Price @@ Online Review Tamoxifen más populares desde ella, evitando así la necesidad de alojar los ficheros Buy Nolvadex Generic, Nolvadex 20 Mg Price @@ Online Review Tamoxifen en el servidor de la aplicación.

    Últimamente he hecho bastante uso de este CDN de Google, por lo que me he decidido a escribir este post donde expongo las ventajas que he encontrado de usar este servicio de Google y también las posibles desventajas.

    Ventajas

    • Velocidad de transmisión. Google tiene montada una infraestructura descomunal y seguramente tenga mayor velocidad de transmisión en sus conexiones que tu servidor.
    • Latencia. Google aloja las librerías en varios servidores distribuidos por todo el mundo, por lo tanto, cada usuario descargará la librería desde el sitio más cercano posible, disminuyendo así la latencia introducida por los routers en cada salto. Tu seguramente solo tengas un servidor, por lo tanto si un usuario de Argentina quiere bajarse el fichero desde España, la latencia aumentará.
    • Paralelismo. Al alojarse el fichero en otro dominio, el navegador web puede descargarlo paralelamente junto con los ficheros de tu aplicación (hojas de estilo etc..). Normalmente los navegadores tienen un número máximo de descargas paralelas para un mismo dominio, y una vez llegado al tope hay que esperar. Este hecho ralentiza la descarga de la página. Usando el CDN de Google, se evita aumentar la cola de descargas para el dominio de tu aplicación.
    • Caché. Este CDN es usado por muchas aplicaciones online, por tanto es muy probable que un usuario que llegué a tu sitio web ya tenga el framework Buy Nolvadex Generic, Nolvadex 20 Mg Price @@ Online Review Tamoxifen alojado en la caché si previamente a usado otra aplicación que implemente el API de bibliotecas AJAX de Google. De esta forma la velocidad se incrementa drásticamente por que ni siquiera hay necesidad de bajarse el fichero.
    • Comodidad. Aunque parezca una tontería, a mi me resulta mucho más cómodo añadir una línea de código y disponer del framework en cuestión, que tener que bajarmelo del sitio oficial, moverlo al directorio de scripts (o subirlo al servidor por FTP) y referenciarlo. (Soy un poco vago, lo sé)

    Desventajas

    Para implementarlo se pueden usar dos métodos:

    1. Cargar el framework Buy Nolvadex Generic, Nolvadex 20 Mg Price @@ Online Review Tamoxifen usando el método load del API de bibliotecas AJAX
    2. Cargar el framework directamente desde la URL proporcionada por Google

    Cargar el framework usando el API de bibliotecas AJAX

    Este método es más potente por que permite cargar el framework en el momento necesario, ya que es posible que no siempre sea necesario cargar todo un framework Buy Nolvadex Generic, Nolvadex 20 Mg Price @@ Online Review Tamoxifen al inicio de la página. Su ventaja principal es que se puede cargar el framework programáticamente.

    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    
    <script type="text/javascript" src="http://www.google.com/jsapi"></script>
    <script type="text/javascript">
     /*
    Se puede especificar solamente la rama, por ejemplo:
      google.load("jquery", "1.3");
    cargaría la última versión de la rama 1.3, es decir, la 1.3.2
    y 
       google.load("jquery", "1");
    cargaría la última versión de la rama 1, es decir la 1.3.2
     
    */
      google.load("jquery", "1.3.2");
     
      google.setOnLoadCallback(function() {
           // Utilizar este método en lugar del metodo ready del framework
      });
    </script>

    Cargar el framework desde la URL de Google

    Este método es más sencillo, aunque menos potente. De esta forma se carga siempre el framework al inicio.

    1
    2
    3
    4
    5
    6
    
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
    <script type="text/javascript">
      $(document).ready(function() {
            // Utilizar el método ready del framework cargado
      });
    </script>

    Si se va a hacer uso obligatorio del framework en cuestión, yo utilizaría el segundo método, ya que evita descargarse el fichero “jsapi” y quita complejidad.

    Conclusión

    El API de bibliotecas AJAX de Google es otro gran servicio ofrecido por Google, que permite cargar Frameworks de Buy Nolvadex Generic, Nolvadex 20 Mg Price @@ Online Review Tamoxifen de una manera más rápida, cómoda y eficiente. Las ventajas superan con creces las desventajas (si es que las tiene), por lo tanto, recomiendo totalmente su uso, tanto en desarrollo como en producción.

    Enlaces relevantes

    Return to the Mobile Edition.