Avatar billede qualon1 Nybegynder
12. juni 2006 - 21:18 Der er 8 kommentarer og
1 løsning

Hente indhold i iframe

Hej

Jeg har en iframe som henter en side fra en anden server, og denne side skal javascript så kunne hente og bearbejde. Mere præcis kunne hente et bestemt billede ud, et billede hvor source starter med: http://123.456.789.123/usertempdir.
Dette billede skal så bare udskrives i et <div> felt
Avatar billede mclemens Nybegynder
12. juni 2006 - 21:40 #1
Noget i denne stil?


<!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"><title>Ingen titel</title>

<script type="text/javascript">

function getpic(ts){
billedet=0;
imgs=window[ts].document.getElementsByTagName("img");

for(i=0;i<imgs.length;i++){
  if(imgs[i].src.indexOf("http://www.eksperten.dk/img/")>-1){
  billedet=document.createElement("img");
  billedet.src=imgs[i].src;
  i=imgs.length;



alert(billedet.src);


  }
}

if(billedet!=0){
  document.getElementById("test").appendChild(billedet);
}
}

</script>





</head><body>

<div id="test">Her nedenunder kommer billedet:<br></div><br><br><br><br><br>

<iframe onload="getpic(this.name);" name="miniframe" src="2.html"></iframe>
<img src="3.jpg">
</body></html>




2.html:



<!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"><title>Ingen titel</title>

</head><body>
<img src="http://www.eksperten.dk/img/elogo.png">
<img src="./1.jpg">
</body></html>
Avatar billede qualon1 Nybegynder
12. juni 2006 - 22:49 #2
det er super... men jeg har fundet ud af at siden jeg skal hente billedet fra, godtager ikke at siden er i iframe... så skal lave den i en popup... kan du hurtig omskrive den så det er til en popup istedet..?
Avatar billede mclemens Nybegynder
12. juni 2006 - 23:33 #3
Prøver lige...
Avatar billede mclemens Nybegynder
12. juni 2006 - 23:38 #4
Lidt sværere ... det er cross-site scripting... og det
plejer at være deaktiveret i browseren af sikkerheds-
hensyn :/ ... prøver lige lidt mere ...
Avatar billede mclemens Nybegynder
12. juni 2006 - 23:51 #5
Nej, det er åbenbart et cross-site scripting problem da de ikke ligger på samme server... Det er måske muligt at sende en forespørgsel til serveren via. xmlhttpRequest og så få oplysning returneret om hvilket billede der skal hentes ... jeg har dog ikke leget så meget med ajax endnu - så jeg kommer ikke tættere ... der kommer nok en forbi der har leget med ajax lidt senere...
Avatar billede qualon1 Nybegynder
13. juni 2006 - 10:51 #6
Hej

Jeg har nemlig forsøgt med AJAX først. Her vil den heller ikke tillade det, det var derfor jeg ville prøve denne "grumme" metode for at prøve at omgå den tilladelse. Men tilsynladen kan man ikke det.. Men du får dine point, du lavede det præcis som det skulle være, du kan jo ikke gøre for den ikke tillader det. tak for hjælpen
Avatar billede qualon1 Nybegynder
13. juni 2006 - 10:52 #7
det lykkes mig forresten med popup, ved at angive en variabel ved window.open(); og så kunne jeg bruge denne variabel til at hente fra popupen... problemet var som sagt at den ikke kunne få tilladelse til det..
Avatar billede mclemens Nybegynder
13. juni 2006 - 11:55 #8
Ok, fik den også til at gøre det med popup'en
ved test men fik også selv den "Ikke tilladt"... :D
Avatar billede mclemens Nybegynder
13. juni 2006 - 16:35 #9
tak for point :)
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