Avatar billede mik28 Seniormester
30. januar 2009 - 05:46 Der er 4 kommentarer og
1 løsning

Vise side i "boks" uden IFrame

Hej Eksperter,

Lad os sige jeg har følgende

.boks{
position:absolute;
height:500px;
width:500px;
}

<div class="boks">
</div>

<a href="#" onclick="bla">Vis indhold af sity 1</a>
<a href="#" onclick="bla">Vis indhold af sity 2</a>

Normalt ville jeg smide en IFrame i boks og så skifte indholdet af den, men hvordan undgår jeg det.
Avatar billede keysersoze Ekspert
30. januar 2009 - 07:40 #1
hvad præcis er det du vil opnå? undgå at hele siden reloader? Hvis det er tilfældet skal du ud i det der hedder AJAX, men det er forholdsvis besværligt og samtidig mister du både brugervenlighed (brugerne kan fx ikke linke direkte til undersider) og SEO (søgemaskiner kan ikke læse javascript og dermed alt dit indhold).
Avatar billede mik28 Seniormester
30. januar 2009 - 11:04 #2
Kan du vise mig hvordan jeg ved hjælp af AJAX loader en webside ind? Jeg havde tænkt mig noget i den her dur

(function(){if(window.XMLHttpRequest)return;var o=null,s,
a=["MSXML2.XMLHTTP.5.0","MSXML2.XMLHTTP.4.0","MSXML2.XMLHTTP.3.0","Msxml2.XMLHTTP","Microsoft.XMLHTTP"];
for(var i=0,j=a.length;i<j;s=a[i],i++){try{if(o=new ActiveXObject(s))break}
catch(e){}}window.XMLHttpRequest=o?function(){return new ActiveXObject(s)}:null;o=null})()

function visSide(URL)
{
var oHttp = new XMLHttpRequest();
oHttp.open("post", URL, true);
oHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=utf-8");
oHttp.onreadystatechange = function(){ myCallBack(oHttp) };
oHttp.send("");
}

function myCallBack(oHttp) {
    if (oHttp.readyState<4) return;

    var xmlDoc=oHttp.responseXML.documentElement;
    BYG SIDE
    oHttp = null;
}

Men det får jeg da ikke lov til på tværs af domæner
Avatar billede olebole Juniormester
30. januar 2009 - 12:21 #3
<ole>

Du kan for det første ikke lave XMLHttpRequests på tværs af domæner.

For det andet kan du ikke loade hele sider ind (en HTML-side indeholder jo som bekendt tags/elementer, der kun må være ét af i HTML-dokument).

For det tredie bør en Ajax request ikke returnere HTML, men XML eller JSON.

Sidst, men ikke mindst, bør du nok hente seneste version af XMLHttpRequest wrapperen:
    http://dengodekode.dk/artikler/ajax/xmlhttprequest_wrapper.php

/mvh
</bole>
Avatar billede mik28 Seniormester
30. januar 2009 - 21:44 #4
Tak for input. Så blev jeg da lidt klogere
Avatar billede keysersoze Ekspert
09. april 2009 - 01:00 #5
lukketid?
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