if adblock( call php function )
Namelijk de functie func_adblock("1");
Nu heb ik dit script gevonden.
Code (php)
1
2
3
4
5
6
7
2
3
4
5
6
7
function detectAdBlock()
{
if (~(document.getElementsByClassName('advertentie')[0].css.height) == 0) {
alert('AdBlock staat ingeschakeld!');
}
}
window.onload = detectAdBlock;
{
if (~(document.getElementsByClassName('advertentie')[0].css.height) == 0) {
alert('AdBlock staat ingeschakeld!');
}
}
window.onload = detectAdBlock;
Maar nu wil ik dus die alert vervangen door die php functie.
Maar het probleem is dat je hier gaan php functies kan aanroepen.
Heeft iemand enig idee hoe ik dit kan gaan doen?
ik zou iig gaan voor javascript icm ajax..
En dat kan prima met HTML, JS en CSS
En aangezien ik niet denk dat dat kan met ajax/js zoek ik een andere oplossing.
jawel, dat kan wel met ajax...deze functie detecteerd dat addblock aanstaat, verstuurt via een ajaxcall een request naar de pagina waar jij iets opslaat en laad uit de database.
Wat wil je precies dan laden? Je zou die data ook statisch in een JS var kunnen plaatsen.
Tom Tom op 11/01/2013 12:04:19:
...En aangezien ik niet denk dat dat kan met ajax...
Hoe kom je daarbij?
Dit is precies wat Ajax doet: je laat javascript contact nemen met de server, zonder dat de gebruiker daar iets van merkt.
Wat je dan op de server doet, kies je zelf.
Kris Peeters op 11/01/2013 13:23:04:
Hoe kom je daarbij?
Dit is precies wat Ajax doet: je laat javascript contact nemen met de server, zonder dat de gebruiker daar iets van merkt.
Wat je dan op de server doet, kies je zelf.
Tom Tom op 11/01/2013 12:04:19:
...En aangezien ik niet denk dat dat kan met ajax...
Hoe kom je daarbij?
Dit is precies wat Ajax doet: je laat javascript contact nemen met de server, zonder dat de gebruiker daar iets van merkt.
Wat je dan op de server doet, kies je zelf.
Kan je me hier een voorbeeld van geven?
Ik heb namelijk nooit met AJAX gewerkt.
Voeg dit toe aan je html (dit laadt jQuery), bij voorbeeld binnen <head>
Sowieso moet die lijn hoger in de code staan dan jouw stuk javascript.
en dan
Code (php)
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
...
if (~(document.getElementsByClassName('advertentie')[0].css.height) == 0) {
$.ajax({
url: 'test.php',
success: function(responseText) {
alert(responseText);
}
});
}
...
if (~(document.getElementsByClassName('advertentie')[0].css.height) == 0) {
$.ajax({
url: 'test.php',
success: function(responseText) {
alert(responseText);
}
});
}
...
test.php
Code (php)
1
2
3
2
3
<?php
echo 'Hello World!'; // wat je hier echo't, wordt teruggegeven aan javascript (en komt in dit geval in de alert)
?>
echo 'Hello World!'; // wat je hier echo't, wordt teruggegeven aan javascript (en komt in dit geval in de alert)
?>
Gewijzigd op 11/01/2013 14:48:59 door Kris Peeters
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script type="text/javascript">
if (~(document.getElementsByClassName('advertentie')[0].css.height) == 0) {
document.write("<font color=\"#FF0000\"><b>Adblock staat aan!</b></font>");
}
</script>
<?php
echo '<form method="post">
<table width="100%">
<tr>
<td class="advertentie" name="advertentie">
Reclame
</td>
</tr>
</table>
</form>';
?>
<script type="text/javascript">
if (~(document.getElementsByClassName('advertentie')[0].css.height) == 0) {
document.write("<font color=\"#FF0000\"><b>Adblock staat aan!</b></font>");
}
</script>
<?php
echo '<form method="post">
<table width="100%">
<tr>
<td class="advertentie" name="advertentie">
Reclame
</td>
</tr>
</table>
</form>';
?>
Kunnen we ergens testen?
- Aar - op 12/01/2013 22:16:24:
Kunnen we ergens testen?
Ik heb hem hier online staan:
http://tom-webs.nl/testpagina/adblock.php
en je ajax request?
Ik weet niet of die alleen geset wordt met adblock (heb ik er niet op staan) want standaard heeft dat element geen height.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script type="text/javascript">
if (~(document.getElementsByClassName('advertentie')[0].css.height) == 0) {
$.ajax({
success: function(responseText) {
document.write("<font color=\"#FF0000\"><b>Adblock staat aan!</b></font>");
}
});
}
</script>
<?php
echo '<form method="post">
<table width="100%">
<tr>
<td class="advertentie" name="advertentie">
Reclame
</td>
</tr>
</table>
</form>';
?>
<script type="text/javascript">
if (~(document.getElementsByClassName('advertentie')[0].css.height) == 0) {
$.ajax({
success: function(responseText) {
document.write("<font color=\"#FF0000\"><b>Adblock staat aan!</b></font>");
}
});
}
</script>
<?php
echo '<form method="post">
<table width="100%">
<tr>
<td class="advertentie" name="advertentie">
Reclame
</td>
</tr>
</table>
</form>';
?>
- Verplaats je Javascript naar het einde van de pagina (iig onder je advertentie) of doe een onLoad check.
- Adblock doet niet de style.height aanpassen maar de clientHeight:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<?php
echo '<form method="post">
<table width="100%">
<tr>
<td class="advertentie" name="advertentie">
Reclame
</td>
</tr>
</table>
</form>';
?>
<script type="text/javascript">
if (document.getElementsByClassName('advertentie')[0].clientHeight == 0) {
alert('Advert blocked!');
// Wat te doen als de advertentie geblocked is?
}
</script>
<?php
echo '<form method="post">
<table width="100%">
<tr>
<td class="advertentie" name="advertentie">
Reclame
</td>
</tr>
</table>
</form>';
?>
<script type="text/javascript">
if (document.getElementsByClassName('advertentie')[0].clientHeight == 0) {
alert('Advert blocked!');
// Wat te doen als de advertentie geblocked is?
}
</script>
Edit: ik zie dat je originele script dit bij onload via een functie aanroept. De check die iig moet gebeuren is de .clientHeight == 0, niets meer niets minder.
Gewijzigd op 13/01/2013 12:20:36 door Jurgen B