Toon posts:

[JS/JAVA/FF]JAVAto JS communicatie werkt niet in FF

Pagina: 1
Acties:
  • 241 views sinds 30-01-2008
  • Reageer

Verwijderd

Topicstarter
Ik zit met het volgende probleem. Ik heb een website gemaakt waar je met javascript methodes in java aanroept. Dit gaat prima in IE, maar in firefox niet... Daar krijg ik de volgende melding in JS console:
Fout: document.Hoofd.setScreenSize is not a function
Bronbestand: file:///C:/Documents%20and%20Settings/Wouter/Bureaublad/Website%20af/home.html
Regel: 60
De source waar het om draaide:
code:
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
    <SCRIPT>

    function functieknoppen(j)
    {
    Update();
        switch (j)
        {
            case 1: document.Hoofd.loginKnop();
                    Update();break;
            case 2: document.Hoofd.updateKnop();
                    Update();break;
            case 3: document.Hoofd.grafiekKnop();
                    Update();break;
            case 4: document.Hoofd.tabelKnop();
                    Update();break;
            case 5: document.Hoofd.instellenKnop();
                    Update();break;
        }
    }
    function Loginknop()
    {
        i = document.Hoofd.getLoginStatus();
        if(i)
        {
            top.LEFTMAIN.zetLogin(1);
            Update();
        }
        else
        {
            top.LEFTMAIN.zetLogin(0);
        }
    }
    function Update()
    {
        breedte = document.body.offsetWidth-40;
        hoogte = document.body.offsetHeight-34;
        document.Hoofd.setScreenSize(hoogte,breedte);
        status = document.Hoofd.getMachineStatus();
        aantal = document.Hoofd.getAantalSlangen();
        top.RIGHTHEADER.UpdateMachineStatus(status);
        top.RIGHTFOOTER.UpdateMachineAantal(aantal);
    }
    </SCRIPT>


Die methode staat wel in mn java en zoals ik al zei werkt hij ook gewoon in IE...
Iemand enig iedee wat ik verkeerd doe?

Verwijderd

Topicstarter
Niemand enig iedee zo te merken?

  • GambitRS
  • Registratie: Juni 2001
  • Laatst online: 13-06-2013

GambitRS

w00t

probeer het eens met document.Hoofd.setScreenSize(500,500);
Dan weet je of breedte en hoogte wel goed zijn. Als die namelijk geen waarde hebben zou Java daar problemen mee kunnen krijgen. Er zijn een aantal verschillen in de document.parameters van IE en FF, misschien bestaan document.body.offsetWidth wel helemaal niet in FF/Mozilla.

MechWarrior || Monsters Game


Verwijderd

Topicstarter
Neej het gaat er juist om dat FF zegt niet de functie in java te kunnen vinden.... mn java heeft geen problemen...

  • GambitRS
  • Registratie: Juni 2001
  • Laatst online: 13-06-2013

GambitRS

w00t

Als breedte en hoogte beiden niks zijn dan kan Java dat zien als iets anders dan een int waarde (int heeft wel een 0 maar geen null waarde). Je roept dan dus niet de functie setScreenSize(int x, int y) aan maar setScreenSize(object x, object y). Omdat de functie setScreenSize(object x, object y) niet bestaat kan deze ook niet gevonden worden.

Dat document.body.offsetWidth in IE een getal is zorgt ervoor dat je breedte een getal is. Als document.body.offsetWidth in FF niet bestaat kan breedte plots gezien worden als de String "-40" of misschien "null-40" of wie weet wat anders. Door geen variabele namen in de aanroep te gebruiken maar integers kan je testen of het inderdaad aan de variabelen ligt of dat het echt zo is dat de functie niet gevonden kan worden.

Probeer het nou maar, anders heb je dit probleem volgende week nog.

[ Voor 43% gewijzigd door GambitRS op 18-04-2005 19:17 ]

MechWarrior || Monsters Game


Verwijderd

Topicstarter
Ik heb geprobeerd wat je zei, maar helaas geen resultaat. Op de een of andere manier kan hij geen functies in java aanroepen (of ik doe het op de verkeerde manier :? )

Iemand suggesties?

  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

Wat is 'Hoofd' voor iets? een frame? een iframe? En verwijst het naar een id-attribuut of een name-attribuut?
In ieder geval is er niets mis met de JAVAtoJS communicatie, maar met je javascript zelf.

Intentionally left blank


Verwijderd

Topicstarter
Hoofd is mn applet zelf...

code:
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
<a onmouseover="Loginknop();" onmouseout="Loginknop();">
<!--"CONVERTED_APPLET"-->
<!-- HTML CONVERTER -->
<OBJECT
    classid = "clsid:8AD9C840-044E-11D1-B3E9-00805F499D93"
    codebase = "http://java.sun.com/update/1.5.0/jinstall-1_5-windows-i586.cab#Version=1,5,0,02"
    WIDTH = 99% HEIGHT = 99% NAME = "Hoofd" >
    <PARAM NAME = CODE VALUE = Hoofd >
    <PARAM NAME = ARCHIVE VALUE = "chart.jar, Grafieken.jar" >
    <PARAM NAME = NAME VALUE = "Hoofd" >
    <PARAM NAME = "type" VALUE = "application/x-java-applet;version=1.5">
    <PARAM NAME="scriptable" value="true">
    <PARAM NAME="mayscript" value="true">
    <PARAM NAME = "progressbar" VALUE="true"/>
    <PARAM NAME = "progresscolor" VALUE="blue"/>
    <PARAM NAME = "boxmessage" VALUE="Bezig met laden...">
    <PARAM NAME = "boxbgcolor" VALUE="white">

    <COMMENT>
    <EMBED
            type = "application/x-java-applet;version=1.5" \
            CODE = Hoofd \
            ARCHIVE = "chart.jar, Grafieken.jar, Tabel.jar" \
            NAME = "Hoofd" \
            WIDTH = 99% \
            HEIGHT = 99% \
            progressbar ="true"/ \
            progresscolor ="blue"/ \
            boxmessage ="Bezig met laden..." \
            boxbgcolor ="white" \
        scriptable = false \
        pluginspage = "http://java.sun.com/products/plugin/index.html#download">
    </EMBED>
    </COMMENT>
</OBJECT>
</a>
Pagina: 1