Avatar billede daniel_d Nybegynder
01. oktober 2002 - 21:23 Der er 22 kommentarer og
1 løsning

script og target="parent" problem ???

Hej alle

Jeg har et script jeg bruger til at oprette genveje imellem sider i et dynamisk website.

Virker fint nok, men nu har jeg lavet en iframe hvorfra man klikker på linket. For at hele siden ikke skal genloades i iframen når man klikker på linket er man nødt til at bruge en target="parent" <- i hvert fald i HTML

Men hvordan er det nu det klares i et javascript.

Herunder har jeg lige postet koden til scriptet:

      <script language="JavaScript">
        function submitCategoryChange()
        {
        document.selectcategory.submit();
        }
        function createArticleLink(article)
        {
        window.opener.cmdExec("createLink", "index3.asp?ID=" + article);
        //window.opener.idContent.document.execCommand('createLink', "", 'index3.asp?ID=' + theArticle)
        self.close();
        }
      </script>

Med venlig hilsen
Daniel
Avatar billede =maddog= Nybegynder
01. oktober 2002 - 22:54 #1
document == det dokument siden befinder sig i
parent.document == det umiddelbart ovenliggende document set fra scriptet
top.document == det øverstliggende dokument i samme vindue som documentet
-- nu bliver det mudret --
window.opener.parent.document == det umiddelbart ovenliggende dokument fra det dokument som indeholder scriptet der i sin tid åbende vinduet.

Så alt efter om det er funktion 1 eller 2 du vil ændre på skal du altså bruge
parent.document.selectcategory.submit();
eller
window.opener.parent.cmdExec(en_masse_ral);
Avatar billede daniel_d Nybegynder
01. oktober 2002 - 23:44 #2
puha... kan ikke helt få det til at virke. Men det er også en smule forvirende. Prøver at forklare nærmere. Jeg har en index.asp side. i den ligger en iframe hvor indholdet indlæses og dermed også linket. administrationsmodulet har jeg samlet i en mappe der hedder admin. Jeg anvender så en WYSIWYG editor til at ændre i indholdet. Denne editor åbner en anden side i admin biblioteket hvor man kan vælge hvilken anden side i db'en man vil linke til.

Help!... Forvirrende
Avatar billede =maddog= Nybegynder
02. oktober 2002 - 00:07 #3
Ja. Det lyder som om du har valgt en dårlig implementering. Hvad er grunden til at du har valgt at anvende en WYSIWYG editor om man tør spørge? Det virker nærmest som om du har konstrueret det hele for at kunne bruge det til at eller andet, blot for at ende med at bevise det modsatte...
Jeg begriber desværre ikke rigtig hvilket formål dette her tjener heller. Hvad funktion har administrations-modulet? Er det en delmængde af netværksadministration?

Under alle omstændigheder er indexering fra en iframe ikke altid så let som fra en god gammeldags frame.
For at have en minimal chance for at kunne yde kvalificeret hjælp skal jeg derfor vide følgende:
1) I hvilket dokument ligger de to funktioner (Iframe / Hovedside)?
2) Den sidste funktion ligner mest af alt noget fra et vindue. Hvad er hensigten med self.close() til eksempel?

Eller... Åbner et link i iframen et vindue, hvori brugeren skal vælge i en liste af links. Det link skal så aktivere en ny side i iframen? Er det sådan det skal forstås?

Der er ingen grund til at plastre mere kode på. Jeg gider ikke læse det alligevel.
Avatar billede ztyxx Nybegynder
02. oktober 2002 - 00:13 #4
target="_parent" og ikke target="parent"
Avatar billede daniel_d Nybegynder
02. oktober 2002 - 00:13 #5
okay...
det er et admin modul til min side som jeg er i gang med at udbygge så jeg ikke behøver at ftp uploade hver gang jeg ændre i indholdet. Jeg har valgt en WYSIWYG editor for at kunne formatere teksten mht til skrifttype, størrelse, farve, indsætte billeder i teksten samt mere. Så admin modulet tjener kun denne side.

Til spørgsmål 1)
Dokumentet med de 2 funktioner ligger i Admin/side.asp og en "standalone" side som jeg kalder fra WYSIWYG editoren når jeg vil lave et internt link på siden. Derfor til spørgsmål 2) når jeg har valgt linket lukker den vinduet igen...

Hjalp det ?
Avatar billede daniel_d Nybegynder
02. oktober 2002 - 00:15 #6
ztyzz> Ja okay, men det gik lidt stærkt. Ved godt der skal _ foran. Men nu er problemet ikke html kode, men javascript kode og der dur target="_parent/_top/_self" ikke
Avatar billede daniel_d Nybegynder
02. oktober 2002 - 00:16 #7
Admin/side.asp er altså ikke i nogen iframe men helt "sin egen"
Avatar billede daniel_d Nybegynder
02. oktober 2002 - 00:19 #8
Lige nu er output i iframen f.eks.
<A href="index.asp?ID=39">

Men den skulle gerne være:

<A href="index.asp?ID=39" target="_Parent">

Mit problem er bare at få den target hæftet på linket i javascriptet
Avatar billede =maddog= Nybegynder
02. oktober 2002 - 00:23 #9
Jeg fatter ikke en brik. Måske i morgen. Måske en anden kan forstå hvad der foregår.
Avatar billede =maddog= Nybegynder
02. oktober 2002 - 00:24 #10
Ahhhhr. Du mener i execCommand! *forehead slapping moment*
Jeg kigger en gang på det.
Avatar billede daniel_d Nybegynder
02. oktober 2002 - 00:25 #11
Maddog> helt i orden. tak alligevel. Måske man skal sidder med det for helt at fatte hvad det er der sker!... Håber jeg får det løst
Avatar billede daniel_d Nybegynder
02. oktober 2002 - 00:26 #12
øhhh okay *S*
Avatar billede =maddog= Nybegynder
02. oktober 2002 - 01:00 #13
nej. det lader ikke til at kunne gøres af den vej.
Avatar billede daniel_d Nybegynder
02. oktober 2002 - 01:01 #14
Æv
Avatar billede daniel_d Nybegynder
02. oktober 2002 - 01:14 #15
ku man ikke lave noget med :

window.opener.cmdExec("createLink", "index3.asp?ID=" + article + " + target="_Parent");

Ved godt det her ikke virker, men måske noget i den dur ?
Avatar billede =maddog= Nybegynder
02. oktober 2002 - 02:25 #16
der er lukket for det varme vand, med mindre alle links i samme document skal have samme target. I så fald er der måske et loop hole. Du kan prøve at køre dette her for at se hvad jeg mener.

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head>
    <script>
    var insertedPage = "<html><head>\n<sc"+"ript>\nfunction doLink() {\n\t"
                      +"opener.document.selection.createRange().execCommand(\"createLink\",false,\"/brian/home.jsp\");\n\t"
                      +"var madeLinks = opener.document.links;\n\t"
                      +"for (i=0;i!=madeLinks.length;i++) opener.document.links[i].target=\"if\";\n\t self.close();\n}\n</sc"
                      +"ript>\n</head>\n<body>\n<input type=\"button\" onclick=\"doLink();\" value=\"Lav link\">\n"
                      +"</body></html>\n";
    function openDialogue() {
        win = window.open("","win","width=200,height=200,toolbar=0,menubar=0");
        win.document.open();
        win.document.write(insertedPage);
        win.document.close();
    }
    </script>
</head><body>fwfefwef efwef wefef<br>
<input type="button" value="Åben dialog" onclick="openDialogue();"><br>
<iframe name="if"></iframe>
</body></html>

Bare åben linkgen dialogen, markér noget tekst og tryk "Lav link".
Der er en lille smule brødtekst at lave links på og alle skulle gerne have iframen som target.
Avatar billede daniel_d Nybegynder
02. oktober 2002 - 16:02 #17
Hej igen...
Ja, men iframen skal jo netop ikke være target. Det skal _parent til iframen være :o)

Så jeg ved desværre ikke helt hvordan jeg kan bruge det du har lavet :o(

Mvh
Daniel
Avatar billede daniel_d Nybegynder
02. oktober 2002 - 16:11 #18
Men linket er i iframen og target er _parent til iframen.
Avatar billede =maddog= Nybegynder
02. oktober 2002 - 17:59 #19
du kan godt finde ud af at stifte "if" ud med "_parent" ikke? jeg er naturligvis valgt at lave det 'omvendt' da jeg ikke gider lave flere end en side til at teste....
Avatar billede daniel_d Nybegynder
04. oktober 2002 - 23:50 #20
Yep... Bare ikke så hård i javascript, men prøver at få dit forslag til at køre i mit system.

Post et svar så jeg kan give dig point. Tak for hjælpen. Et stort stykke arbejde du har lagt i det. Tak
Avatar billede =maddog= Nybegynder
05. oktober 2002 - 00:12 #21
det var så lidt.
tro det eller la' vær, men det er netop en udfordring som denne der gør at jeg svarer på et spørgsmål.
Avatar billede daniel_d Nybegynder
05. oktober 2002 - 00:14 #22
Ja nogen gange kan der godt gå sport i det :o)
Avatar billede =maddog= Nybegynder
05. oktober 2002 - 00:41 #23
bestemt. håber du får det til at virke. bare gennemløb alle links og sørg for at sætte deres target implicit. selvom det ovenliggende vindue bliver lukket bibeholder de deres 'satte' target. life is wonderfull :-).
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