Toon posts:

IE9 iFrame issue

Pagina: 1
Acties:

Acties:
  • 0Henk 'm!

  • Anoniem: 39520
  • Registratie: November 2001
  • Niet online
Ik heb een ASP.Net applicatie met een grid en een iFrame. Als een gebruiker een record selecteert wordt de afbeelding getoond in het iFrame. Het iFrame is gekoppeld aan een aspx pagina en de inhoud wordt met een Response.BinaryWrite naar de client geschreven. Elke afbeelding heeft een unieke url, zo kan er gebruik gemaakt worden van de cache op de client. Middels javascript wordt de url doorgegeven aan het iFrame.

Dit werkte perfect, maar sinds IE9 werkt het zetten van de url in het iFrame (javascript) alleen de eerste keer daarna volgt er de melding "Invalid calling object".

Nu begreep ik dat in IE9 het DocType van de pagina gelijk moet zijn aan het DocType van de geladen pagina in het iFrame. Maar door de Response.BinaryWrite verlies ik mijn DocType.

Nu zou ik het iFrame elke keer opnieuw kunnen aanmaken maar dat vind ik ook geen oplossing, maar ik zie ook geen manier op via de code behind een DocType toe te voegen.

Iemand dit probleem al getackeld?

Acties:
  • 0Henk 'm!

  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
Waarom laad je de content niet gewoon in je huidige pagina? (i)Frames zijn echt (bijna) nooit een goede oplossing.

Verder is dit meer clientside, want de bron van de pagina heeft niks met je probleem te maken. Dus deze gaat naar WEB

“Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.”


Acties:
  • 0Henk 'm!

  • Anoniem: 39520
  • Registratie: November 2001
  • Niet online
Woy schreef op vrijdag 03 juni 2011 @ 11:23:
Waarom laad je de content niet gewoon in je huidige pagina? (i)Frames zijn echt (bijna) nooit een goede oplossing.

Verder is dit meer clientside, want de bron van de pagina heeft niks met je probleem te maken. Dus deze gaat naar WEB
Wij gebruiken het iFrame omdat er nog meer content omheen staat. Als ik een BinaryWrite op de huidige pagina doe dan ben ik ook mijn Grid kwijt. Oke dat is goed.

Acties:
  • 0Henk 'm!

  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
Anoniem: 39520 schreef op vrijdag 03 juni 2011 @ 11:32:
[...]


Wij gebruiken het iFrame omdat er nog meer content omheen staat. Als ik een BinaryWrite op de huidige pagina doe dan ben ik ook mijn Grid kwijt. Oke dat is goed.
Hoezo zo je je grid kwijt zijn als je de content gewoon in bijvoorbeeld een div element in je huidige pagina laad?

“Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.”


Acties:
  • 0Henk 'm!

  • Anoniem: 39520
  • Registratie: November 2001
  • Niet online
Woy schreef op vrijdag 03 juni 2011 @ 12:27:
[...]

Hoezo zo je je grid kwijt zijn als je de content gewoon in bijvoorbeeld een div element in je huidige pagina laad?
Ik kan geen BinaryWrite doen met een pdf in een div tag, dus die optie werkt niet.

Acties:
  • 0Henk 'm!

  • Shivs
  • Registratie: Januari 2010
  • Niet online
Even voor de record. Je hebt een PDF en die moet ondemand op een bepaalde plek in je pagina worden ingebouwd?
Als dat het geval is kan je volgens mij gewoon met ajax een bestand aanroepen dat je pdf opbouwd en de uitkomst van dat bestand laten terug sturen naar een div?

Acties:
  • 0Henk 'm!

  • Anoniem: 39520
  • Registratie: November 2001
  • Niet online
JelkeBart schreef op vrijdag 03 juni 2011 @ 13:21:
Even voor de record. Je hebt een PDF en die moet ondemand op een bepaalde plek in je pagina worden ingebouwd?
Als dat het geval is kan je volgens mij gewoon met ajax een bestand aanroepen dat je pdf opbouwd en de uitkomst van dat bestand laten terug sturen naar een div?
Het is een byte array die middels een BinaryWrite in de pagina wordt geschreven geen fysiek bestand. Dan ben ik wel geïnteresseerd hoe dat werkt wil liever ook geen iframe. Het is ook nog het geval dat het ook andere typen van bestanden kan bevatten.

[Voor 6% gewijzigd door Anoniem: 39520 op 03-06-2011 14:26]


Acties:
  • 0Henk 'm!

  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
Anoniem: 39520 schreef op vrijdag 03 juni 2011 @ 14:23:
[...]
Het is een byte array die middels een BinaryWrite in de pagina wordt geschreven geen fysiek bestand.
Alsof de browser er zich wat van aan trekt hoe het bestand gegenereerd word. Uiteindelijk is alles gewoon een stream bytes die binnen komt.

Verder weet ik niet of het mogelijk is om een PDF inline in een pagina te renderen, maar ik vraag me eigenlijk af waarom er dan voor gekozen is om een PDF te genereren in plaats van iets dat wel gewoon makkelijk in een web-pagina getoond kan worden. Bij het tonen van een PDF ben je immers altijd afhankelijk van de PDF reader die de gebruiker geïnstalleerd heeft. Het kan best voorkomen dat de gebruiker helemaal geen PDF reader heeft die inline in de browser kan renderen.

“Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.”


Acties:
  • 0Henk 'm!

  • Anoniem: 39520
  • Registratie: November 2001
  • Niet online
Woy schreef op vrijdag 03 juni 2011 @ 14:47:
[...]

Alsof de browser er zich wat van aan trekt hoe het bestand gegenereerd word. Uiteindelijk is alles gewoon een stream bytes die binnen komt.

Verder weet ik niet of het mogelijk is om een PDF inline in een pagina te renderen, maar ik vraag me eigenlijk af waarom er dan voor gekozen is om een PDF te genereren in plaats van iets dat wel gewoon makkelijk in een web-pagina getoond kan worden. Bij het tonen van een PDF ben je immers altijd afhankelijk van de PDF reader die de gebruiker geïnstalleerd heeft. Het kan best voorkomen dat de gebruiker helemaal geen PDF reader heeft die inline in de browser kan renderen.
Het is ook geen website maar een webapplicatie en de reader hoort daarbij. Eindgebruikers mogen hun eigen reader installeren.

Acties:
  • 0Henk 'm!

  • Anoniem: 39520
  • Registratie: November 2001
  • Niet online
Het probleem lijkt opgelost te zijn door de volgende aanpassingen.

1. Middels document.getElementById het Iframe op te halen i.p.v. windows.frames[frameId].
2. De url niet zetten door frame.contentWindow.location maar frame.src.

Helemaal blij.
Pagina: 1


Tweakers maakt gebruik van cookies

Tweakers plaatst functionele en analytische cookies voor het functioneren van de website en het verbeteren van de website-ervaring. Deze cookies zijn noodzakelijk. Om op Tweakers relevantere advertenties te tonen en om ingesloten content van derden te tonen (bijvoorbeeld video's), vragen we je toestemming. Via ingesloten content kunnen derde partijen diensten leveren en verbeteren, bezoekersstatistieken bijhouden, gepersonaliseerde content tonen, gerichte advertenties tonen en gebruikersprofielen opbouwen. Hiervoor worden apparaatgegevens, IP-adres, geolocatie en surfgedrag vastgelegd.

Meer informatie vind je in ons cookiebeleid.

Sluiten

Toestemming beheren

Hieronder kun je per doeleinde of partij toestemming geven of intrekken. Meer informatie vind je in ons cookiebeleid.

Functioneel en analytisch

Deze cookies zijn noodzakelijk voor het functioneren van de website en het verbeteren van de website-ervaring. Klik op het informatie-icoon voor meer informatie. Meer details

janee

    Relevantere advertenties

    Dit beperkt het aantal keer dat dezelfde advertentie getoond wordt (frequency capping) en maakt het mogelijk om binnen Tweakers contextuele advertenties te tonen op basis van pagina's die je hebt bezocht. Meer details

    Tweakers genereert een willekeurige unieke code als identifier. Deze data wordt niet gedeeld met adverteerders of andere derde partijen en je kunt niet buiten Tweakers gevolgd worden. Indien je bent ingelogd, wordt deze identifier gekoppeld aan je account. Indien je niet bent ingelogd, wordt deze identifier gekoppeld aan je sessie die maximaal 4 maanden actief blijft. Je kunt deze toestemming te allen tijde intrekken.

    Ingesloten content van derden

    Deze cookies kunnen door derde partijen geplaatst worden via ingesloten content. Klik op het informatie-icoon voor meer informatie over de verwerkingsdoeleinden. Meer details

    janee