Avatar billede cmau Nybegynder
25. december 2006 - 00:16 Der er 15 kommentarer og
1 løsning

popup skifter location på vindue

Hejsa

Dette har sikkert været oppe før, men ved ikke lige hvad jeg skal søge efter for at finde svar.

Jeg har et hovedvindue.. Fra dette åbner jeg så et popup vindue, som folk surfer lidt rundt i. Når man så klikker på en knap skal location i det første vindue skifte og focus skal skifte. Hvordan kan jeg gøres dette?
Avatar billede roenving Novice
25. december 2006 - 00:20 #1
<button onclick="opener.location.href='nySide.html';opener.focus();setTimeOut('self.close()',52);return false;">Luk og opdatér</button>
Avatar billede cmau Nybegynder
25. december 2006 - 00:24 #2
Hvordan finder den så ud af hvilken side som åbnede den?
Avatar billede roenving Novice
25. december 2006 - 00:28 #3
opener er det window-objekt, som indeholder koden, der åbnede popuppen !-)

-- hvis du skal bruge den sides adresse til noget, kan du aflæse den med:

opener.location.href

-- selvfølgelig under den forudsætning, at begge sider kommer fra samme domæne !o]
Avatar billede cmau Nybegynder
25. december 2006 - 00:32 #4
Det virker som det skal :).. Tusind tak smid svar.

Men ville lge spørge om en ting til. Jeg har noget 'ajax' til at hente en masse kommentare for mig ind på en side hvor jeg bruger nedenstående, men æøå bliver sjove tegne i FF og i IE bliver det ?'tegn og >'er. Hvad kan dette skyldes?

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
Avatar billede roenving Novice
25. december 2006 - 00:36 #5
-- det er nok mere sandsynligt, at der er en afvigende encoding på dine ajax-svar, check lige hvad dit serverscript sender til browseren, og sæt f.eks. explicit encodingen for svaret (og i server-side scripting er jeg ikke så skrap, kig f.eks. under den rigtige kategori !-)

-- els velbekomme '-)
Avatar billede cmau Nybegynder
25. december 2006 - 13:12 #6
I den rigtige kategori, hmm jeg ville tro det var javascriptet som fuckede.

Jeg henter siden sådan her:

            function getcomments(str) {
                xmlHttp = GetXmlHttpObject()
                if (xmlHttp == null) {
                    alert ("Du kan desværre ikke bruge kommentar systemet, fordi din browser ikke understøttet 'HTTP Request'.")
                    return
                }
                var url = 'comments.php'
                url = url + '?id=' + str
                xmlHttp.onreadystatechange = stateChanged
                xmlHttp.open('GET', url, true)
                xmlHttp.send(null)
            }
            function stateChanged() {
                if (xmlHttp.readyState == 4 || xmlHttp.readyState == 'complete') {
                    document.getElementById('comments').innerHTML = xmlHttp.responseText
                }
            }
            function GetXmlHttpObject() {
                var objXMLHttp = null
                if (window.XMLHttpRequest) {
                    objXMLHttp = new XMLHttpRequest()
                } else if (window.ActiveXObject) {
                    objXMLHttp = new ActiveXObject("Microsoft.XMLHTTP")
                }
                return objXMLHttp
            }
Avatar billede roenving Novice
25. december 2006 - 23:12 #7
-- men hvad genererer svaret serverside ?-)

-- o9g tak for point ;~}
Avatar billede cmau Nybegynder
26. december 2006 - 12:07 #8
Jamen hvis jeg bare ser på siden så kommer det rigtigt, men efter det har været i gennem den jskode så er det at der fucker.
Avatar billede olebole Juniormester
27. december 2006 - 13:20 #9
<ole>

Din kode har ikke så meget med Ajax at gøre, men derudover er roenvings spørgsmål yderst relevant:

1) Hvad generer svaret serverside?
2) Hvilken MIME returneres svaret med?

Hele idéen med Ajax er kun at udveksle rå data mellem server og klient ... al HTML-formatering sker på klienten.
Derudover har innerHTML-property'en aldrig været valid under nogen standard - og er iøvrigt helt umulig at anvende under XHTML - så den bør man nok vænne sig til at undgå  ;o)

/mvh
</bole>
Avatar billede cmau Nybegynder
27. december 2006 - 15:13 #10
Olebole > Server siden udskriver det rigtigt, så man ser det med æøå i alle browsere.

Hvad er MIME?

Hvad kan jeg bruge istedet for innerHTML?
Avatar billede olebole Juniormester
27. december 2006 - 15:18 #11
Du kan ikke umiddelbart kontrollere, serveren skriver det korrekt ud  :)

Ethvert PC-dokument har en MIME-type tilknyttet. I HTML-/HTTP-sammenhænge er det 'Content-type' feltet i HTTP-header'en ... ikke det, du skriver i et evt. meta-element  ;o)

I stedet for innerHTML kan du bruge DOM - men så skal svaret fra serveren være formateret, så man kan adskille de enkelte variabler ... f.eks. med XML eller JSON.
Avatar billede cmau Nybegynder
27. december 2006 - 16:32 #12
Altså en type lige som:
header("Content-type: image/jpeg");

Men hvilken skulle jeg så bruge til min side?
Avatar billede olebole Juniormester
28. december 2006 - 12:38 #13
Det kommer anpå, hvilket charset du i øvrigt bruger - og hvordan du behandler data på serveren. Det kunne være:
    header("Content-type: text/xml; charset=utf-8");

- eller:
    header("Content-type: text/xml; charset=iso-8859-1");
Avatar billede cmau Nybegynder
28. december 2006 - 21:55 #14
Det virkede med den sidste, tusindtak olebole :)
Avatar billede olebole Juniormester
29. december 2006 - 13:36 #15
Det var så lidt ... Godt Nytår  ;o)
Avatar billede cmau Nybegynder
29. december 2006 - 21:26 #16
Tak og i lige måde :)
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