Toon posts:

Aanroep van flashfunctie vanuit javascript werkt niet in FF

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hallo,

Ik ben nu al een tijdje aan het puzzelen, maar ik kan maar niet mijn flashmovie aanroepen vanuit firefox. Hij doet het wel zoals ik verwacht in internet explorer (7), maar in firefox krijg ik de volgende foutmelding:
[foutcode]
Error: getMap().setLayerInformationFunction is not a function
Source File: http://192.168.1.40:8080/wkpb/index.asp
Line: 33
[/foutcode]
Heeft iemand een idee wat ik verkeerd doe?


HTML:
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
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
    <head>
        <title>Flash viewer</title>
        <link rel="Stylesheet" type="text/css" href="./style/viewer.css" > </link>
        <script type="text/javascript" src="./obrowser/script/common.js" > </script>
        <script type="text/javascript" src="./obrowser/script/window.js" > </script>
        <script type="text/javascript">
            //<![CDATA[
            
            function getMap() {
                var map = null;
                if (navigator.appName.indexOf("Microsoft") != -1) { 
                    // IE
            map = window["flashviewer"];
            }
                else { 
                //other than IE
            map =  document["flashviewer"]
                }
                if (!map) {
                    alert("Couldn not find the flashviewer, name: flashviewer");
                }
                return map;
            }       
            function showInfo(objectlist) {
                alert("inside showInfo");
                for (var current in objectlist) {
                    alert("layer:" + current[0] + " objectid:" + current[1]);
                }
            }       
            function bodyLoad() {
                getMap().setLayerInformationFunction("showInfo");
                getMap().clearTheme();
            }
            
            //]]>
        </script>

    </head>
    <body onload="bodyLoad()">
        
<!----------------------->
<!-- START: viewer.asp -->
<!----------------------->

<object
    id="flashviewer" 
    width="400" 
    height="700"
    classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
    codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0"
>
    <param 
        name="movie" 
        value="http://192.168.1.30/flashviewer_1.0/flashviewer.swf?nocache=1157630177"
    />
    <param 
        name="flashvars" 
        value="hostname=http://192.168.1.30&cgiUrl=/cgi-bin/mapserv&phpUrl=/flashviewer_1.0/flashcommunication.php&mapFilename=/var/mapfile/wkpb/wkpb.map&animationFrameInterval=50&animationZoomTotalFrameCount=30&animationFadeFrameCount=10&animationZoomlevelDisplayAllLayers=8&animationMinimumLayers=&displayVisibleLayerMenu=false&" 
    />
    <param 
        name="bgcolor" 
        value="#FFFFCC"
    />
    <param 
        name="quality" 
        value="high"
    />
    <param 
        name="allowScriptAccess" 
        value="always"
    />

    <embed 
        name="flashviewer"
        src="http://192.168.1.30/flashviewer_1.0/flashviewer.swf?nocache=1157630177" 
        flashvars="hostname=http://192.168.1.30&cgiUrl=/cgi-bin/mapserv&phpUrl=/flashviewer_1.0/flashcommunication.php&mapFilename=/var/mapfile/wkpb/wkpb.map&animationFrameInterval=50&animationZoomTotalFrameCount=30&animationFadeFrameCount=10&animationZoomlevelDisplayAllLayers=8&animationMinimumLayers=&displayVisibleLayerMenu=false&"     
        bgcolor="#FFFFCC" 
        quality="high"              
        width="400" 
        height="700"
        align="middle"
        allowScriptAccess="always"
        type="application/x-shockwave-flash"
        pluginspage="http://www.macromedia.com/go/getflashplayer"
        play="true" 
        loop="false" 
    >
    </embed>
</object>
<!----------------------->
<!-- STOP: viewer.asp -->
<!----------------------->
        <br />      
        <button style="width:400px;" onclick="openChild('./obrowser/index.asp', 'ObjectBrowser', true, 800, 600, 'no', 'no')">OBrowser</button>
    </body>
</html>

Verwijderd

Topicstarter
Het lijkt erop dat firefox de functie bodyLoad() te vroeg uitvoert, wanneer de functies nog niet bekend zijn in javascript?

Helaas heb ik het nog steeds niet werkend :'(

Verwijderd

Vreemd..

Heb je al eens geporbeerd de Bodyload() functie naar boven te plaatsen?

Verwijderd

Topicstarter
Verwijderd schreef op donderdag 07 september 2006 @ 14:43:
Vreemd..
Heb je al eens geporbeerd de Bodyload() functie naar boven te plaatsen?
Op jouw verzoek heb ik de betreffende functie "bodyLoad" ook helemaal bovenaan geplaatst, zonder resultaat. Maar volgens mij kan dit niet veel uitmaken, daar de functie "bodyLoad" wel gevonden kan worden.

Verwijderd

Oh ja.. volgens mij hoort een <embed> niet in <object> te staan

Verwijderd

Topicstarter
Verwijderd schreef op donderdag 07 september 2006 @ 15:10:
Oh ja.. volgens mij hoort een <embed> niet in <object> te staan
Volgens mij wel en de voorbeelden van adobe geven dit ook aan. Zie ook http://livedocs.macromedi...al/ExternalInterface.html tevens zegt
Pagina: 1