Javascript functie werkt niet
ik heb een code waarmee je een alert kunt laten verschijnen wanneer je ene woord intypt op je toetsenbord (niet persé in een inputveldje etc.) maar omdat ik meerdere woorden wil gebruiken heb ik die in de database gezet en de code steeds opnieuw laten maken met de verschillende woorden (zie code). Maar alleen de cheat met het laatst toegevoegde woord werkt, de andere cheats werken gewoonweg niet. Hoe los ik dat op?
Code (php)
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
34
35
36
37
38
39
40
41
42
43
44
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
34
35
36
37
38
39
40
41
42
43
44
<?php
$select = "SELECT * FROM leden_gegevens WHERE gebruikersnaam = '".$_COOKIE['gebruikersnaam']."'";
$query = mysql_query($select)or die(mysql_error());
$list = mysql_fetch_object($query);
if ($list->status == "schouwer") {
$select = "SELECT * FROM leden_cheats";
$query = mysql_query($select)or die(mysql_error());
while($list = mysql_fetch_object($query)) {
?>
<script language="JavaScript">
var nav =navigator.appName;
var ns =(nav.indexOf("Netscape")!=-1);
if(ns){
if(document.layers){
document.captureEvents(Event.KEYPRESS);
document.onkeypress = cheat;
}
if(document.getElementById){
document.onkeypress = cheat;
}
}
else
{document.onkeypress = cheat;}
var SpecialWord = "<?php echo "$list->woord"; ?>";
var SpecialLetter = 0;
var vcheat = false
function cheat(keyStroke)
{
var eventChooser = (ns)?keyStroke.which: event.keyCode;
var which = String.fromCharCode(eventChooser).toLowerCase();
if(which == SpecialWord.charAt(SpecialLetter)){
SpecialLetter++;
if (SpecialLetter == SpecialWord.length) alert("<?php echo "$list->url"; ?>")
}
else {SpecialLetter = 0;vcheat = false}
}
</script>
<?php
}
}
?>
$select = "SELECT * FROM leden_gegevens WHERE gebruikersnaam = '".$_COOKIE['gebruikersnaam']."'";
$query = mysql_query($select)or die(mysql_error());
$list = mysql_fetch_object($query);
if ($list->status == "schouwer") {
$select = "SELECT * FROM leden_cheats";
$query = mysql_query($select)or die(mysql_error());
while($list = mysql_fetch_object($query)) {
?>
<script language="JavaScript">
var nav =navigator.appName;
var ns =(nav.indexOf("Netscape")!=-1);
if(ns){
if(document.layers){
document.captureEvents(Event.KEYPRESS);
document.onkeypress = cheat;
}
if(document.getElementById){
document.onkeypress = cheat;
}
}
else
{document.onkeypress = cheat;}
var SpecialWord = "<?php echo "$list->woord"; ?>";
var SpecialLetter = 0;
var vcheat = false
function cheat(keyStroke)
{
var eventChooser = (ns)?keyStroke.which: event.keyCode;
var which = String.fromCharCode(eventChooser).toLowerCase();
if(which == SpecialWord.charAt(SpecialLetter)){
SpecialLetter++;
if (SpecialLetter == SpecialWord.length) alert("<?php echo "$list->url"; ?>")
}
else {SpecialLetter = 0;vcheat = false}
}
</script>
<?php
}
}
?>
Gebruik code tags voor het weergeven van je code[/modedit]
Titel gewijzigd naar een normale titel..[/modedit]
Gewijzigd op 08/07/2010 16:19:37 door Chris -
En kan je misschien je code tussen code /code blocks zetten, ziet er zo wat onoverzichtelijk uit ;)
Gewijzigd op 08/07/2010 11:39:58 door Johan Dam
Je maakt elke keer een nieuwe javascript aan, waardoor hij alleen maar de laatste javascript pakt. Je moet niet steeds de javascript te whilen. Je moet alle worden in een array zetten in javascipt en dan kijken als iemand een woord typed of dat woord in de array zit,
Code (php)
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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
<script language="JavaScript">
var nav=navigator.appName;
var ns=(nav.indexOf("Netscape")!=-1);
if(ns) {
if(document.layers) {
document.captureEvents(Event.KEYPRESS);
document.onkeypress = cheat;
}
if(document.getElementById) {
document.onkeypress = cheat;
}
}
else
{
document.onkeypress = cheat;
}
<?php
$select = "SELECT * FROM leden_cheats";
$query = mysql_query($select)or die(mysql_error());
while($list = mysql_fetch_object($query)) {
?>
var SpecialWord<?php echo "$list->id"; ?> = "<?php echo "$list->woord"; ?>";
var SpecialLetter<?php echo "$list->id"; ?> = 0;
<?php } ?>
var vcheat = false
function cheat(keyStroke) {
var eventChooser = (ns)?keyStroke.which: event.keyCode;
var which = String.fromCharCode(eventChooser).toLowerCase();
<?php
$select = "SELECT * FROM leden_cheats";
$query = mysql_query($select)or die(mysql_error());
while($list = mysql_fetch_object($query)) {
?>
if(which == SpecialWord<?php echo "$list->id"; ?>.charAt(SpecialLetter<?php echo "$list->id"; ?>)) {
SpecialLetter<?php echo "$list->id"; ?>++;
if (SpecialLetter<?php echo "$list->id"; ?> == SpecialWord<?php echo "$list->id"; ?>.length) {
window.open("index.php", "Pagina", "width=100, height=400,scrollbars=no,status=no");
}
}
else
{
SpecialLetter<?php echo "$list->id"; ?> = 0;
vcheat = false;
}
<?php
}
?>
}
</script>
var nav=navigator.appName;
var ns=(nav.indexOf("Netscape")!=-1);
if(ns) {
if(document.layers) {
document.captureEvents(Event.KEYPRESS);
document.onkeypress = cheat;
}
if(document.getElementById) {
document.onkeypress = cheat;
}
}
else
{
document.onkeypress = cheat;
}
<?php
$select = "SELECT * FROM leden_cheats";
$query = mysql_query($select)or die(mysql_error());
while($list = mysql_fetch_object($query)) {
?>
var SpecialWord<?php echo "$list->id"; ?> = "<?php echo "$list->woord"; ?>";
var SpecialLetter<?php echo "$list->id"; ?> = 0;
<?php } ?>
var vcheat = false
function cheat(keyStroke) {
var eventChooser = (ns)?keyStroke.which: event.keyCode;
var which = String.fromCharCode(eventChooser).toLowerCase();
<?php
$select = "SELECT * FROM leden_cheats";
$query = mysql_query($select)or die(mysql_error());
while($list = mysql_fetch_object($query)) {
?>
if(which == SpecialWord<?php echo "$list->id"; ?>.charAt(SpecialLetter<?php echo "$list->id"; ?>)) {
SpecialLetter<?php echo "$list->id"; ?>++;
if (SpecialLetter<?php echo "$list->id"; ?> == SpecialWord<?php echo "$list->id"; ?>.length) {
window.open("index.php", "Pagina", "width=100, height=400,scrollbars=no,status=no");
}
}
else
{
SpecialLetter<?php echo "$list->id"; ?> = 0;
vcheat = false;
}
<?php
}
?>
}
</script>
Gewijzigd op 08/07/2010 13:32:31 door Lord Gaga
Graag je foutmeldingen? die kan je in firefox zien door ctrl + shirt + j te drukken (eerst ff 'alles wissen' en daarna de pagina laden) en bij IE door op F12 te drukken en vervolgens 'scripts' aan te klikken, (daarna pagina laden)
bij het intikken van de cheat gebeurd er gewoon niks.
Iemand? Heb het echt nodig nu :/
window.open als gevolg van een key-event... geen wonder dat je niets ziet, want dit is de basis van een popup-blocker. Die zijn speciaal in het leven geroepen om deze volgorde te blokkeren. Eigenlijk werkt window.open alleen nog als gevolg van een onclick-event, in zo goed als alle andere situaties zal je browser melden dat er een popup is geblokkeerd.
Raar want ik heb het idee van een andere website die precies dezelfde code gebruikt als ik (van leejoo.nl) en bij die website werkt het wel :s