Avatar billede scripttumpen Nybegynder
04. marts 2001 - 23:04 Der er 28 kommentarer

Load af egen side efter fremmed side i frame via .loacation=?

Jeg har prøvet følgende to modeller for load af egen (højre main-) frame side i todelt frameset, men får ikke lov (adgang nægtet) ay loade ny egen side efter load af frenned side i frame main (f.eks. egyer en søgning, der afleverer resultatet her) i IE4\'. Derimod virker et \"normalt\" link med target=\"main\" OK! Er det mig, der ikke kender \"tricket\", eller er der en \"normal\" setting, der kan foretges i navigator- eller andet object, ELLER kan man bare ikke få lov at gøre som jeg gerne ville, uden først at have aktiveret et \"normalt\" href til egen side?
Jeg har søgt enuges tid, men har stadig ikke \"set lyset\".
Takker for ebhver mulig løsning, mvh Scripttumpen, Næstved 
        top.main.location=top.actStart+curL
    top.main.location.href=top.actStart+curL
Avatar billede scripttumpen Nybegynder
04. marts 2001 - 23:28 #1
PS: Undksyld stavning og \"dobbelte\" tegn - min motorik er ikke helt driftsikker. Håber det forståa alligevel!
Mvh SCR-TU.
Avatar billede olebole Juniormester
04. marts 2001 - 23:31 #2
Så skriv dog for pokker ordentligt!
Hvis du forventer, folk skal give dig en del af deres kostbare tid, kan det sq da ikke være meningen, man først skal igennem en større gættekonkurrence for at finde ud af, hvad du spørger om!
Prøv igen - på dansk!
Avatar billede scripttumpen Nybegynder
04. marts 2001 - 23:40 #3
Til olebole oa.
Tak forkommentaren, men mit \"trådløse\" keyboerd driller lidt en gan imellem - håber alligevel at sprøgsmålet er frstået:

top.main.location.href=\"minside.htm\"

Når jeg i IE4+ loader \"fremmed\" side i denne frame i et todelt frameset, får jeg adgang nægtet indtil jeg har loaded \"egenside.htm\" via normalt link og derefter kan jeg loade som ovenfor.

Din kommentar er helt acceptabel og jeg har \"virkelig\" læst korrektur på dette indlæg for at anstrenge mig.

Kan du eller andre hjælpe.

Mvh Scripttumpen
Avatar billede jakoba Nybegynder
04. marts 2001 - 23:55 #4
Jeg gik faktisk og overvejede om jeg skulle investere i et sæt trådløst. Tak fordi du hjalp mig til en afgørelse :-))

ved javascript adressering af et vindue/ramme fra et andet kan der nu og da komme problemer fordi browseren ikke kan bestemme sig til hvilken sides URL den skal bruge for at færdiggøre en relativ url.

fra din menuramme skulle
    top.din_rammes_navn.location = \"http://domæne/mapper/filnavn.html\"
virke hver gang.
Altså: brug komplet og uforkortet URL

nogen af de nye hjemmeside hosts lægger et frameset omkring din hvemmeside for at lave en lille ramme til deres reklamer (freepaq, subnet). Hvis du bor på sådan et sted skal du bruge parent. istedet for .top

    parent.din_rammes_navn.location = \"http://domæne/mapper/filnavn.html\"

mvh www.fotx.net/JakobA
Avatar billede scripttumpen Nybegynder
05. marts 2001 - 00:18 #5
Kære jacoba!
Tak for dit svar!
Mht \"traådløst\" er det fordi jeg ikke kan udholde larmen fra computer(ne) idet både min server og arbejdsstation (som skriver via lige nu) er placeret på førstesalen i et alm. hus. Jeg kører derfor via \"coax\" fra skærmkort ned til 14\" TV, og det trådløse virker så fordi signalet går ind i coax-kablet og bliver \"afleveret\" ovenpå ved computeren, hvor modtager-boksen hænger.

Mht til mit spørgsmål så er start-stien \"grappet\" via et startscript i første led af højre-siden:
top.main.location.href=top.actStart+curL,
mens cutL er min \"current\" lokale Link jeg ønsker loaded.
Da det jo virker inden jeg loader en \"fremmed side\" og jeg via test-udskrift har set at top.actStart faktisk er korrekt også i \"adgang nægtet\" situationen, så er jeg \"ret sikker\" på at helle URL\'en er korrekt.
Kommenter venligst dette mens jeg undersøger om jeg nu og¨så har \"http://\" foran, som du anfører!

Du kan roligt købe et trådløst keyboard/mus - det fungerer upåklageligt ved \"normal\" opførsel!

Mvh og tak for svaret fra Scripttumoen.

Avatar billede jakoba Nybegynder
05. marts 2001 - 00:31 #6
så  top.actStart  er en variabel der indeholder mappesti?
så burde det slet ikke være muligt at loade en lokal side hvis det ER muligt at loade en fremmed. Så nu forstår jeg slet ikke noget.

Har du siden liggende på nettet så jeg kan kikke på den?

mvh JakobA
Avatar billede scripttumpen Nybegynder
05. marts 2001 - 00:50 #7
Kære jacoba!

Desværre er scriptet ikke \"sluppet løs\" endnu, men den er lavet til min arbejdsplads, og er faktisk færdig på nær dette lidt irriterende problem (-det kan jeg nemt komme over, da jeg jo selv bestemmer om vores side skal loade fremmede sider) men jeg ville gerne have resultatet fra fremmed søgemaskine i denne frame! Dette er heller ikke noget problem, men jeg kan først komme \"normalt\" videre efter at have loaded en af \"vores\" sider via href=\"vores-link.htm\"!
Jeg sakser lige script-produktionen af \"grap\"-scriptet for top.actStart:

//and the following script for saving start-location (the map with the
//index/default .htm).
//The following script-production snifs the set-off location for further
//adressing of local links via GAP (Get Actual Page-function) relative
//to top.actStart (graped below, when the resulting htm has been loaded):

doc.write(\"<script LANGUAGE=\'JavaScript\'>\")
if (!ns) doc.write(\"\\12<!\"+\"--\\12  \") //NS won\'t accept the end of this
doc.write(\"function aaa() \")
doc.write(\'{tmp=\"\')
doc.write(top.location)
doc.write(\'\";\')
doc.write(\"top.jj=tmp.substring(30,41);\")
doc.write(\"top.oldLoc=top.actLoc;\")
doc.write(\'for (var i=38;(i&&tmp.substring(i,i+1)!=\"/\");i--) kk=i;\')
doc.write(\"top.actLoc=tmp.substring(0,kk);\")
doc.write(\"if (!top.actStart) {top.actStart=top.actLoc; top.mainFrame=top.actStart+\'mainframe.htm\'}\")
doc.write(\"};\")
doc.write(\"window.onload=aaa;\")
if (!ns) doc.write(\"\\12  --\"+\"> \\12  \") //NS won\'t accept this
doc.write(\"</script>\")

Som du kan se \"grappes\" kun når start-htm (index/default) aktiveres første gang, hvorfor top.actStart altid forbliver korrekt! (Det virker jo uden \"fremmed side\" indblanding!).

Resultatet fra søgemaskinen er en standard fremmed søgning med form osv og med target=\"main\", som er min højre hoved-frame i todelt frameset med menu i venstre side.

Håber det afklarer situationen og indholdet af top.actStart.

Mvh Scripttumpen



Avatar billede scripttumpen Nybegynder
05. marts 2001 - 01:09 #8
PS til jacoba - oa:

Jeg har nu på min gen IIS4-server checket indhokdet af top.actStart og kopieret fra det kørende scripts test-udskrift af variablen top.actStart:

          http://pbnp/ticst/
 
idet mi server hedder PBNP og min startmappe indeholdende default.htm hedder ticst.

Som du ser er den lige klar til at få klasket enhver undemappe-sti bagi fra (top.)curL, men det funker altså ikke efter load af \"Fremmed side\" før jeg har aktiveret et lokalt link på normal vis med click (href=\"mit-lokale-link.htm\".

Håber det præciserer situationen.

mvh Scripttumpen



Avatar billede jakoba Nybegynder
05. marts 2001 - 01:38 #9
Det præsicerer situationen perfekt.
Med det resultat at jeg nu heller ikke kan se nogensomhelst grund til at det ikke skulle virke.
Vi må håbe der kommer en \"Rigtig\" ørn forbi.

mvh JakobA
Avatar billede jakoba Nybegynder
05. marts 2001 - 01:46 #10
En mulighed:
    top.mainFrame=actStart+\"filnavn.html\";
det er den assign der bruges i scriptet og svarer måske mere til et link med target=\'mainFrame\'
men det er gætteri.

mvh JakobA
Avatar billede scripttumpen Nybegynder
05. marts 2001 - 01:55 #11
Kære jacoba oa og ikke midst \"Eksperten\" selv:

Jeg har tidligere tit været inde på disse sider og fundet savr på mange af mine \"tumpede\" spørgsmål, men ovenstående har jeg ikke kunne finde en fornuftig løsning på! - måske ligger det i browserens indbyggede logik som et sikkerhedsværn - men mod hvad?

Jeg registrerede mig derfor i dag som Scripttumpen (fra Næstved), da der er flere ting jeg nok ikke helt har styr på i både NS4+ og IE4+.

Tak for den hurtige og velmente interesse - isæt til dig jacoba (vær nu ikke så skeptisk overfor det trådløse!).

Jeg må -som du siger finde en \"ørn\" (Bjarne Riis? ha,ha) eller håbe på han kigger forbi her (IE4+/NS4-ørnen).

Tak alt i alt for dette web-sted og de mange \"kloge hoveder\"\'s hurtige svar, som jeg tit har haft glæde af.

Mvh Scripttumpen
Avatar billede scripttumpen Nybegynder
05. marts 2001 - 02:15 #12
Til jacoba:

Kære jacoba - jeg glemte at svare på \"gætteri\" ovenfor - hvor du anfører +\"filnavn.htm\" har jeg jo \"kun\" en variabel (curL) - men det virker til gengæld altid så længe jeg holder mig fra \"fremmede sider\";- at prøve med en rigtig tekst (filanavn.htm) i bingoer (\"\") ér vel blot at erstatte en variabel men en (tekst-konstant?).

Jeg ville gerne sende dig hele ticst-mappen i pakket udgave, hvis det kunne være interressant (det gør jeg gerne til enhver der er interesseret i spørgsmålet!) - så giv mig lige et tip!

Mvh Scripttumpen - det bliver nok det sidste for idag (som er imorgen) - det er ved at være småsent!
Avatar billede jakoba Nybegynder
05. marts 2001 - 02:23 #13
gættet var at udelade location.href delen af destination.
    top.mainFrame=actStart+curL;
er samme gæt.
Avatar billede olebole Juniormester
05. marts 2001 - 02:26 #14
doc.write(\"<script LANGUAGE=\'JavaScript\'>\")
if (!ns) doc.write(\"\\12<!\"+\"--\\12  \") //NS won\'t accept the end of this

Det kan du ikke med JavaScript. JS kan ikke skrive \'script\'! Kan måske fungere enkelte steder, men burde ikke gøre det. Du skal skrive:

doc.write(\"<\\script LANGUAGE=\'JavaScript\'>\")
if (!ns) doc.write(\"&lg;!--\") // Denne linie behøver du ikke i version 4+

...og til slut:

if (!ns) doc.write(\"--&gt;\") // Denne linie behøver du ikke i version 4+
doc.write(\"</\\script>\")

...om det hjælper, ved jeg ikke.

Hvor har du iøvrigt \'top.actLoc\' fra i denne linie? Den er øjensynligt ikke defineret endnu:
  doc.write(\"top.oldLoc=top.actLoc;\")
...i hvert fald ikke før scriptet evt. køres anden gang.

Hvad bruger du \'top.jj\' til?

I hvilken frame ligger dit \'grap-script\' og i hvilken frame ligger dit location-skift-kald?
/mvh
Avatar billede olebole Juniormester
05. marts 2001 - 02:30 #15
Prøv at sende hel gøgemøget til oc@adr.dk :)
/mvh
Avatar billede scripttumpen Nybegynder
05. marts 2001 - 03:07 #16
Svar til jacoba+olebole:

Kære begge!
Jeg prøvede dit næste gæt jacoba - men med samme resultat!

Mht til de linier du refererer olebole, så drjer det sig \"bare\" om at få indsat LF/CRi scriptet, der bliver produceret, således at det resulterende script overfor den aktuelle browser (NS4+ eller IE4+) gør opmærksom på, at her kommer altså et script (det samme med slutningen!) ellers opdager de ikke <script.. henh. </scriot,, -tag\'ene.
Sådan har ie4+ det men med ns4+ har jeg et problem!
Variblen top.actLoc bliver nøjagtig defineret og sat her og hele venste menu-frame bliver udelukkende produceret via script som htm-side, hvori altså ovenfor nævnte script med aaa()-funktionen \"onload\" er det første - det virker faktisk fint i ie4!

Da I åbenbart også er lidt sent oppe (stille nattetimer er de bedste til at få løst små irriterende opgaver a la denne) så kan det være I kan nå at reagere endnu engang.

Tak for enrgisk deltagelse - mvh Scripttumpen.
Avatar billede scripttumpen Nybegynder
05. marts 2001 - 03:13 #17
Til olebole:

Sorry - jeg havde ikke set din sidste kommentar mens jeg komponerede sidste indlæ - jeg sender hele mappen ticst pakket fra mit arbejde da jeg selv kun kører < 28 modem - forhåbentlig imorgen (ie: idag) hvis jeg når derhen.
OK - mvh Scripttumpen
Avatar billede olebole Juniormester
05. marts 2001 - 13:37 #18
Hvis du gør det rigtigt = som jeg skriver (din metode er ikke tilladt ifølge JavaScript), er det ikke nødvendigt at gøre browserne opmærksom på, der kommer et script!
Hvis aaa()-funktionen er det første, er variablen \'top.actLoc\' netop IKKE defineret. Hvis den ydermere ligger i venstre frame, kan den aldrig komme til at hedde \'top.actLoc\'!
At det virker i IE, skal du ikke læne dig opad...det gør stort set alt - uanset, hvor forkert det er skrevet. Desværre...!!! :(
Jeg tror, du hellere må sende det, hvis vi skal have en mulighed for at finde fejlene - for der er tilsyneladende en del :)
/mvh
Avatar billede jakoba Nybegynder
05. marts 2001 - 13:45 #19
Endnu et gæt:
    top.mainFramedocument.location=actStart+curL;

Avatar billede jakoba Nybegynder
05. marts 2001 - 13:46 #20
med .
    top.mainFrame.document.location=actStart+curL;
Avatar billede scripttumpen Nybegynder
05. marts 2001 - 16:04 #21
Tak til både jacoba og olebole for ihærdig indsats!

Til  jacoba:

top.mainFrame.document.location=actStart+curL;

er prøvet (og nu endnu engang) uden bedre held!

Til olebole:

top.VAR er vel ref til een og samme variabel uanset hvor man befinder sig (inden for egne definerede VAR\'s mm) og iøvrigt har jeg oprindeligt initieret top.actLoc=\"NIX\" i init-delen af hovedscriptet, der starter menuen i venstre menu-frame (dvs samme sted som browser-sniffing og anden init).
Jeg ved godt de to linier med karakter \\12 kan udelades - de er der kun af hensyn til min egen læsbarhed af resultat-scriptet.
At et script producerer en html-side, hvori der er et \"onload-script\" bør vel ikke afskrække en fornuftig browser, der bør være ligeglad med, hvor html-siden kommer fra - den kender jo allerede \"producenten\" eller hvad?
Jeg sidder stadig hjemme ved mit flade 28.8 modem og venter på at min kollega sender mig mit pakke-program, så jeg kan pakke mapperne i ticst (de fylder kun ca 1,6 MB) og vil så sende det til dig i aften forhåbentligt!

Mvh Scripttumpen



Avatar billede olebole Juniormester
05. marts 2001 - 19:23 #22
Nej \'top.noget\' er en reference til en variabel, der ligger i TOP-dokumentet...altså i dit frameset!
Ligger \'noget\' i rammen - lad os sige - \'leftFrame\', skal du referere således: \'top.leftFrame.noget\'...og DER er jo en væsentlig forskel :)
Jeg er sådan set bimlende ligeglad med \'\\12\', men du SKAL escape \'script\' - altså skrive: \'\\script\'.
Det er garanteret dine koder og ikke browserens skyld, det ikke fungerer :)
/mvh
Avatar billede olebole Juniormester
05. marts 2001 - 19:26 #23
...Det er fint, du definerer \'top.actLoc\' og sætter den til \'NIX\', men sker det kronologisk, før du anvender den i linien, jeg skrev i mit tidligere indlæg? Det er MEGET vigtigt!
Avatar billede scripttumpen Nybegynder
05. marts 2001 - 23:16 #24
Til olebole oa:

top,altLoc initieres i hovedscriptes init-del altså før noget som helst andet er dannet - siden der initielt loades i msin (anført i frame-def\'en i framesettet) er en helt alm og uskadelig htm-side.
Jeg har efterprøvet dine forskellige forslag og er efterhånden kommet frem til, at et \"simuleret automatisk\" klik på et link måske er eneste mulighed - men hvordan i H... laver man det?
Nu tager jeg lige en slapper - tak til alle for interessen - især olebole og jacoba.
Jeg er naturligvis ikke helt enig med olebole\'s næstsidste betragtning - men tit er det jo sådan at problemet sidder ca 40-50 cm fra skærmen!
Tilbage imorgen med fornyet styrke (I hope?) - så på gensyn og tak.

Mvh Scripttumpen
Avatar billede olebole Juniormester
05. marts 2001 - 23:48 #25
Prøv at sende mig siderne og framesettet :)
Avatar billede scripttumpen Nybegynder
06. marts 2001 - 20:48 #26
Jeg har nu sendt braset til olebole! ca 11 filer<100KB. Hvis andre er interesseret sender jeg gerne...
Mbh Scripttumpen
(Mbh=Med behagelig hilsen)
PS: Håber olebole er \"Ørnen\", som jacoba omtaler ovenfor!
Avatar billede scripttumpen Nybegynder
07. marts 2001 - 21:22 #27
Jeg lukker nu dette indlæg og opretter et nyt:

Load af lokal side efter load af fremmed (se eks og uddybende på adresse: www.sec.dk/ticst
Avatar billede jakoba Nybegynder
14. marts 2001 - 12:10 #28
For at lukke spørgsmålet skriver du et svar og accepterer det. Så kommer pointsene tilbage på din \"konto\"
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester