Простой равномерный рандомный ротатор на JS для асинхронных блоков AdSense и РСЯ

Простой вариант быстро пробить что эффективнее в каком-то конкретном месте сайта Директ или Адсенс на JS. Итак, подгружаем асинхронный код гугла (в большинстве случаев он уже подгружен на странице): <script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script> Определяем условия (если нужно откручивать больше вариантов, просто поиграйтесь со значениями в Math.random и измените цикл) <script> if (Math.random() > .5) { Выводим код 1го блока: document.write('<ins class="adsbygoogle" style="display:block" data-ad-client="ca-pub-123" data-ad-slot="123" data-ad-format="auto"></ins>'); (adsbygoogle = window.adsbygoogle || []).push({}); } else { Выводим блок с РСЯ: document.write('<div id="yandex_ad"></div>'); И передаём в него нужные параметры (function(w, d, n, s, t) { w[n] = w[n] || []; w[n].push(function() { Ya.Direct.insertInto(123123, "yandex_ad", { stat_id: 1, ad_format: "direct", font_size: 1, type: "horizontal", limit: 2, title_font_size: 2, links_underline: true, site_bg_color: "FFFFFF", title_color: "0072B9", url_color: "13497E", text_color: "494949", hover_color: "F00", sitelinks_color: "13497E", favicon: true, no_sitelinks: false }); }); t = d.getElementsByTagName("script")[0]; s = d.createElement("script"); s.src = "//an.yandex.ru/system/context.js"; s.type = "text/javascript"; s.async = true; t.parentNode.insertBefore(s, t); })(window, document, "yandex_context_callbacks"); } </script> Как видите, код вызовов фактически остаётся без изменений, что не нарушает правил обоих контекстных сеток.