Javascript fout bij maken widget

Pagina: 1
Acties:
  • 305 views

Onderwerpen


Acties:
  • 0 Henk 'm!

  • Saturnus
  • Registratie: Februari 2005
  • Niet online
Ik probeer een Yahoo! Widget te maken met keuzemogelijkheid uit 2 images en het vervolgens verversen van deze.

Het hoofdbestand bevat:
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
44
<?xml version="2.0" encoding="UTF-8"?>
<widget>
<debug>on</debug>
    <preference name="still">
            <title>Image</title>
            <type>popup</type>
        <option>Still</option>
        <optionValue>1</optionValue>
            <option>Movie</option>
            <optionValue>2</optionValue>
    </preference> 



    <window>
        <name>KNMI Windkracht</name>
        <title>KNMI Windkracht</title>
        <visible>true</visible>
    </window>

    <image>
        <name>Radarbeeld</name>
    </image>


    <timer>
        <name>timer</name>
        <interval>600</interval>
        <ticking>true</ticking>
        <onTimerFired>
           Radarloop ( );
        </onTimerFired>
    </timer>

    <action trigger="onLoad">  
                include("./main.js");
        Radarloop ( );
    </action>

    <action trigger="onPreferencesChanged">
        Radarloop ( );
    </action>           

</widget>


De main.js bevat:
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
var url = new URL();
function readimage ( )
    { 
    url.outputFile= system.temporaryFolder+ "/mybui1.gif";
    url.fetch();
    Radarbeeld.src=url.outputFile;
    }

function Dummy ()
    // dummy url fetch for refresh of url required
{ url.location="http://www.buienradar.nl/home.aspx?r=vakantie&jaar=-3&soort=loop3uur";
   url.outputFile= system.temporaryFolder+ "/mybui.gif";
   url.fetch();
   Radarbeeld.src=url.outputFile;
   }

function Radarloop ( )

        {
        if (preferences.still.value == "1") 
        {   
         Dummy();
         url.location = "http://www3.buienradar.nl/images.aspx?jaar=-7&soort=wind&tijd=0";
        } 
        else 
        {
            if (preferences.still.value == "2") 
            {
             Dummy();
             url.location = "http://www3.buienradar.nl/images.aspx?jaar=-7&soort=wind&tijd=1";
            }

        }
        readimage ( );
        }

De code heb ik van bestaande (goed werkende) widgets gepakt.
Ik snap vrij weinig van Javascript en de zogenaamde logica die het moet hebben ontgaat mij ook nog steeds maar alles leek goed te gaan...totdat het samengevoegd wordt tot een .widget bestand.

Debuggen geeft dan:
Loaded Widget 'KNMI Windkracht Extended' from C:\Users\*\Documents\My Widgets\KNMI Windkracht Extended.widget
KNMI Windkracht.kon (Included file './main.js')
uncaught exception: fetch: no URL specified. Either set one in the URL.location or pass as the parameter.
Dit krijg ik ook als ik "preferences.still.value" rename naar bijvoorbeeld preferences.mode.value plus in het hoofdbestand de 'preference name' bijwerk. :S

Acties:
  • 0 Henk 'm!

  • Rekcor
  • Registratie: Februari 2005
  • Laatst online: 05-09 21:08
JavaScript:
1
2
3
4
5
6
function readimage ( )
    { 
    url.outputFile= system.temporaryFolder+ "/mybui1.gif";
       url.fetch();
    Radarbeeld.src=url.outputFile;
    }


Als deze functie wordt aangeroepen, kan het zijn dat url.location (nog) geen waarde heeft, waardoor de functie url.fetch() gaat klagen:
uncaught exception: fetch: no URL specified. Either set one in the URL.location or pass as the parameter.

Acties:
  • 0 Henk 'm!

  • Saturnus
  • Registratie: Februari 2005
  • Niet online
Ah dat komt waarschijnlijk omdat ik een regel eruit gesloopt had.

code:
1
url.location="http://www.buienradar.nl/home.aspx?r=vakantie&jaar=-3&soort=loop3uur";

begon Dummy mee (om een loop op gang te brengen?)
Maar deze url is non-technisch gezien overbodig omdat de keuze tussen de 2 'preferences.still.value's' is en niets anders. Is de code daarom niet weinig effectief?

Edit: Hmm in de eerste post had ik die nog wel en...nee na het mergen tot .widget werkt het weer niet. Wat is de oplossing dan?

[ Voor 14% gewijzigd door Saturnus op 21-06-2010 11:55 ]


Acties:
  • 0 Henk 'm!

  • Rekcor
  • Registratie: Februari 2005
  • Laatst online: 05-09 21:08
Saturnus schreef op maandag 21 juni 2010 @ 11:38:
Edit: Hmm in de eerste post had ik die nog wel en...nee na het mergen tot .widget werkt het weer niet. Wat is de oplossing dan?
Sorry, dan weet ik het ook niet. Het kan aan zoveel dingen liggen...

Acties:
  • 0 Henk 'm!

  • MueR
  • Registratie: Januari 2004
  • Laatst online: 09:58

MueR

Admin Tweakers Discord

is niet lief

Sorry, het wordt me nu wat te gortig. Als je geen verstand hebt van javascript is dat niet erg, leren moeten we allemaal. We zijn hier niet om voor jou widgets te gaan schrijven, scriptrequests doen we niet aan. Je geeft aan deze code "geleend" te hebben van een bestaande widget. Vraag anders die auteur even om je een en ander uit te leggen.

Anyone who gets in between me and my morning coffee should be insecure.


Dit topic is gesloten.