Подскажите по javascript

G-and-Y
На сайте с 29.06.2013
Offline
156
682

Есть такой скрипт, подскажите как сделать что б class="ads" был динамическим при обновлении страницы (то есть случайное число или текст)

Вызов

<div class="ads">

Реклама

</div>

var ads = "ads";
var msg = '<div align="center"><p style="font-size:90px; color: #ff0000;"><u>Adblock Detected</u></p><p style="font-size:60px; color: #ff0000;">Если не хотите видеть этот текст.<br>Отключите пожалуйста AdBlock, или занесите сайт в белый список!</p></div>';

onload=function(){
if (document.getElementsByClassName == undefined) {
document.getElementsByClassName = function(className)
{
var hasClassName = new RegExp("(?:^|\\s)" + className + "(?:$|\\s)");
var allElements = document.getElementsByTagName("*");
var results = [];

var element;
for (var i = 0; (element = allElements) != null; i++) {
var elementClass = element.className;
if (elementClass && elementClass.indexOf(className) != -1 && hasClassName.test(elementClass))
results.push(element);
}
return results;
}
}

blocked = 0;
var ad_nodes = document.getElementsByClassName(ads);
for(i in ad_nodes){
if (ad_nodes.offsetHeight == 0){
blocked = 1;
ad_nodes.innerHTML = msg;
}
}
}
Абузо-устойчивые впс в Нидерландах от 5$/мес (https://cp.inferno.name/aff.php?aff=2991)
archibalds
На сайте с 10.03.2012
Offline
51
#1

Вот

        onload=function(){
var ads = "ads";
var msg = '<div align="center"><p style="font-size:90px; color: #ff0000;"><u>Adblock Detected</u></p><p style="font-size:60px; color: #ff0000;">Если не хотите видеть этот текст.<br>Отключите пожалуйста AdBlock, или занесите сайт в белый список!</p></div>';
var ad_nodes = document.getElementsByClassName(ads);

if(!document.getElementsByClassName) {
document.getElementsByClassName = function(className) {
return this.querySelectorAll("." + className);
};
Element.prototype.getElementsByClassName = document.getElementsByClassName;
}

var ad_nodes = document.getElementsByClassName(ads);
var length = ad_nodes.length;

for(var i = 0; i < length; i++){
if (ad_nodes.offsetHeight == 0){
ad_nodes.innerHTML = msg;
}

var randNum = Math.floor(Math.random() * 9999);
ad_nodes[0].className = randNum;
}
}
Верстка макетов, интеграция с wordpress и modx, написание скриптов, опыт более 6 лет (/ru/forum/999087)
G-and-Y
На сайте с 29.06.2013
Offline
156
#2

archibalds, спс, но решил вопрос с помощью пшп

<!-- PHP -->
$ggg = rand(1, 9999999);
echo "
<script>

var ads = \"$ggg\";
var msg = '<div align=\"center\"><p style=\"font-size:90px; color: #ff0000;\"><u>Adblock Detected</u></p><p style=\"font-size:60px; color: #ff0000;\">Если не хотите видеть этот текст.<br>Отключите пожалуйста AdBlock, или занесите сайт в белый список!</p></div>';

onload=function(){
if (document.getElementsByClassName == undefined) {
document.getElementsByClassName = function(className)
{
var hasClassName = new RegExp(\"(?:^|\\s)\" + className + \"(?:$|\\s)\");
var allElements = document.getElementsByTagName(\"*\");
var results = [];

var element;
for (var i = 0; (element = allElements) != null; i++) {
var elementClass = element.className;
if (elementClass && elementClass.indexOf(className) != -1 && hasClassName.test(elementClass))
results.push(element);
}
return results;
}
}

blocked = 0;
var ad_nodes = document.getElementsByClassName(ads);
for(i in ad_nodes){
if (ad_nodes.offsetHeight == 0){
blocked = 1;
ad_nodes.innerHTML = msg;
}
}
}

</script>
<div class=\"$ggg\">";
<!-- ENDPHP -->
Реклама
</div>
V
На сайте с 24.08.2015
Offline
7
#3

Да уж, оригинально :)

А вместо rand на php написать Math.random на JS не судьба?

Click here to get the best VPS Hosting from $5/mo + $10 free credit (https://goo.gl/DUPLZv)
G-and-Y
На сайте с 29.06.2013
Offline
156
#4

Улучшенный вариант

<?php
$ggg = rand(1, 9999999);
echo "
<script>

var ads = \"$ggg\";
var msg = '<style>.sss$ggg { font-size: 60px; color: #ff0000; }</style><div align=\"center\"><p class=\"sss$ggg\"><u>Adblock Detected</u><br><br>Если не хотите видеть этот текст.<br>Отключите пожалуйста AdBlock, или занесите сайт в белый список!</p></div>';

onload=function(){
if (document.getElementsByClassName == undefined) {
document.getElementsByClassName = function(className)
{
var hasClassName = new RegExp(\"(?:^|\\s)\" + className + \"(?:$|\\s)\");
var allElements = document.getElementsByTagName(\"*\");
var results = [];

var element;
for (var i = 0; (element = allElements) != null; i++) {
var elementClass = element.className;
if (elementClass && elementClass.indexOf(className) != -1 && hasClassName.test(elementClass))
results.push(element);
}
return results;
}
}

blocked = 0;
var ad_nodes = document.getElementsByClassName(ads);
for(i in ad_nodes){
if (ad_nodes.offsetHeight == 0){
blocked = 1;
ad_nodes.innerHTML = msg;
}
}
}

</script>
<div class=\"$ggg\">";
?>
Реклама
</div>
vars:
Да уж, оригинально
А вместо rand на php написать Math.random на JS не судьба?

Если не шариш в JS, то да.

V
На сайте с 24.08.2015
Offline
7
#5
G-and-Y:
Улучшенный вариант

Если не шариш в JS, то да.

А че тут шарить то? Открываешь документацию и читаешь

https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Global_Objects/Math/random

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий