Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


iFrame och innerHtml

Postades av 2004-06-24 16:01:01 - Pether Wiklander, i forum javascript/dhtml, Tråden har 13 Kommentarer och lästs av 878 personer

Håller på att skriva en form av chat där jag uppdaterar informationen som visas på skärmen från en databas. Jag hämtar informationen från databasen i codebehind och lägger det i en sträng som jag lägger till diverse html-taggar i för att det ska se bra ut.
Använder sedan Response.Write för att detta ska "paste:as" på aspx-sidan.

Upplägget är att jag har en aspx-sida som innehåller en iFrame (innehållande sidan som hämtar databasinformationen) och en div-tag (<div>). Min iFrame är dold och uppdateras var annan sekund för att hålla informationen uppdaterad.
Min plan var sedan att jag skulle hämta informationen från iFramen och lägga det i div-taggens innerHtml. Fungerar detta?
Allt detta är för att min sida inte ska "blinka" när jag lägger ut ny information.


Svara

Sv: iFrame och innerHtml

Postades av 2004-06-24 16:21:40 - Mikael Johansson

Jag vet inte hur det funkar, men "blinkandet" kommer ju alltid att vara där eftersom klienten ska ladda upp ny info. Ju slöare uppkoppling, desto tydligare blink.


Svara

Sv: iFrame och innerHtml

Postades av 2004-06-24 16:25:22 - Pether Wiklander

Nej, det är det som är poängen, om man bara uppdaterar den dolda iFramen och sedan uppdaterar innerHtml i div-taggen så får man inget blink.
Min fråga är bara hur jag ska få tag i informationen från iFramen.


Svara

Sv: iFrame och innerHtml

Postades av 2004-06-24 16:26:57 - Pether Wiklander

Nej, det är det som är poängen. Genom att uppdatera den dolda iFramen och sedan hämta informationen från den och sätta div-taggens innerHtml så slipper man blinkandet.
Min fråga är bara hur jag hämtar informationen från iFramen.


Svara

Sv: iFrame och innerHtml

Postades av 2004-06-24 19:44:21 - Patrik Dahlén

Då måste du ha ett javascript som anropar IFramens parent, som då ska vara sidan med div:en vars InnerHTML du vill ändra.

Pseudokod:

1. Sidan i IFramen uppdateras
2. Efter uppdateringen är gjord exekverar sidan en JavaScript funktion
3. JS-funktionen anropar parent sidan och hittar div:en
4. JS-funktionen uppdaterar InnerHtml

Med andra ord så är det här en Javascript fråga, inte asp.net.


Svara

Sv: iFrame och innerHtml

Postades av 2004-06-28 08:18:38 - Pether Wiklander

Men hur ska jag "lagra" informationen som jag ska lägga i IFrameens parent? Är det typ lämpligt att:

1. Hämta informationen från databasen.
2. "Sätta ihop den" till en sträng (med de html-taggar jag vill ha, typ <br> osv).
3. Placera strängen i en textbox på sidan som IFramen visar.

I scriptet som körs efter att sidan uppdaterats:

1. Leta upp parent-sidan till IFramen.
2. Placera texten som finns i textboxen i div:ens innerHtml.

Hur låter detta?


Svara

Sv: iFrame och innerHtml

Postades av 2004-06-28 08:33:54 - Andreas Håkansson

souljunk,

Fortfarande inte en asp.net relaterad fråga hur du än vrider på den, men principen är att på sidan som innehåller din IFrame så lägger du

  <iframe id="myframe" src="sidan.aspx" style="display:none" onreadystatechange="MoveContents()"></iframe>

  <div id="mydiv"></div>


Det viktiga här är <b>onreadystatechange</b> som triggas när iframen bytar status. Sen får du skapa metroden <b>NoveContents()</b> (som du kan kalla vad du vill) som kommer göra själva kopieringen mellan ramen och din div.

<script>
  function MoveContents()
  {
     var myFrameVar =
       document.getElementById("myframe");
     if( myFrame.readystate == "complete" )
     {
        var myDivVar =
          document.getElementById("mydiv");
        myDivVar.innerHTML = myFrameVar.document.body.innerHTML;
     }
  }
</script>


I sidan som "visas" i din IFrame lägger du till en <b>META</b> tagg som gör en automatisk refresh var x-sekund.

<b>PS.</b> Jag är övertygad om att det finns fel i koden oven då arbetsdagen precis har börjat och jag har sovit på tok för lite i helgen. Men nu har du konceptet och kan flytta över frågan till <b>JavaScript</b> forumet (jag är moderator och kan flytta hela tråden om du vill).


Svara

Sv: iFrame och innerHtml

Postades av 2004-06-28 08:46:46 - Pether Wiklander

Flytta tråden du, inga problem för min del. :)

Jaa...ett problem är att jag inte tycks hitta nåt readystatechange attribut för iFrame.


Svara

Sv: iFrame och innerHtml

Postades av 2004-06-28 09:53:27 - Andreas Håkansson

souljunk,

OnreadyStateChange Event
http://msdn.microsoft.com/workshop/author/dhtml/reference/events/onreadystatechange.asp?frame=true


Svara

Sv: iFrame och innerHtml

Postades av 2004-06-28 10:19:45 - Pether Wiklander

Skumt... Jag vet inte vad det är för problem. När jag försöker sätta onreadystatechange="EnFunktion()" så får jag "röda vågor" under onreadystatecahnge och ett tooltip som säger:

Could not fint any attribute 'onreadystatechange' of element 'iframe'.

Vad beror detta på?


Svara

Sv: iFrame och innerHtml

Postades av 2004-06-28 10:52:51 - Pether Wiklander

Av någon underlig anledning fungerar det ändå. Hmm... Jaja... får se om jag får ordning på det här nu då.


Svara

Sv: iFrame och innerHtml

Postades av 2004-06-28 11:45:34 - Patrik Dahlén

Med röda streck så antar jag att du sitter med Visual Studio. Du kan inte lita på att de röda strecken alltid är rätt. Alla egenskaper som finns för html taggar är inte med så prova ändå. Kolla HTML referenser på nätet för att få reda på vad som går och inte går. VS.NET är som sagt inte en komplett referens när det gäller sådana saker.


Svara

Sv: iFrame och innerHtml

Postades av 2004-06-28 20:59:53 - Andreas Håkansson

Vidare beror det på inställningarna i VS.NET där man kan ange vilka versioner av olikas aker man riktar sig till och till vilken DTD etc.


Svara

Sv: iFrame och innerHtml

Postades av 2004-06-30 12:57:56 - Andreas Hillqvist

Kan man inte skriva:
<code>
<script>
function MoveContents(myFrameVar, targetId)
{
if( myFrame.readystate == "complete" )
{
var myTarget = document.getElementById(targetId);
myTarget.innerHTML = myFrameVar.document.body.innerHTML;
}
}
</script>

<iframe id="myframe" src="sidan.aspx" style="display:none" onreadystatechange="MoveContents(this, 'mydiv')"></iframe>
<div id="mydiv"></div>

</code>


Svara

Nyligen

  • 19:55 kick-off med fokus på hälsa?
  • 19:53 kick-off med fokus på hälsa?
  • 16:24 Föreslå en skönhetsklinik online
  • 16:23 Föreslå en skönhetsklinik online
  • 18:42 Hvor finder man håndlavede lamper
  • 18:41 Hvor finder man håndlavede lamper
  • 16:36 Allt du behöver veta om keramiskt
  • 16:14 Vem anlitar man egentligen när tak

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 570 722
27 958
271 751
461
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies