Just nu i M3-nätverket
Jump to content

Iframe och tillbaka knappen - visar fel sida


odishon

Recommended Posts

Hej.

Misstänker det är bara cache-problem eller nått sånt.

 

En sida med sökfunktion och annat innehåll.

Laddar en google-söksida i en iframe på "search"-buttonklick.

Klickar på ett sökresultat

Klickar sen på webbläsarens bakåtknapp.

 

XP + FF 3.0.10 så hamnar jag på startsidan och ser INTE min sökning. iframe är borta

 

Vista + FF 3.0.1 (kollega) får se sökningen

 

Ingen av oss kommer tillbaka till sökningen i iframe när vi använder bakåtknappen.

 

Har testat med XP och

Firefox

Chrome

IE

Safari

 

Ingen gång kommer jag tillbaka till söksidan. Utan den "laddar om" startsidan eftersom det är "index.asp".

 

Hur kan jag, i flera klienter fixa så att en "bakåt-klickning" visar iframe-värdet utan att behöva göra en massa inställningar.

 

Konstiga är att vi får olika resultat i FF men oavsett vilken IE så är det samma /felaktiga/ resultat. Tips emottages vänligast.

 

ps - inga meta-taggar för cache-hantering används

 

Link to comment
Share on other sites

Hmmm... Du har en formulär sidan med en textbox och en knapp. Vad gör knappen? Kör den ett javascript som skapar en iframe med resultat, eller postar den formuläret direkt till iframe. Eller postar den till en tredje sida där iframe befinner sig?

 

Om det är det första alternativet så får man göra lite habrovinker för att få javascriptet att lägga sig i browserns history. Det enklaste är att du ändrar på location.hash.

 

Link to comment
Share on other sites

Ett "förenklat" men fungerande klipp av koden.

När man följer en sökresultat-länk så styr jag upp det så att man lämnar iframe-blocket och bryter ut sig till hela fönstret.

 

Men back fungerar olika i olika webläsare. Den spar "status" i vissa FF läsare men inte IE. Det kanske inte är det bästa att göra iframe,

 

 

<script>
function funccall()
{
 tmphref="http://www.google.se/search?q="+document.forms[0].q.value
 document.getElementById('gsaiFrame').innerHTML="<iframe scrolling=no frameborder=0 width=105% height=100% src='"+tmphref+"'></iframe>"
 document.getElementById('gsaiFrame').style.height='1150px';
 document.getElementById('gsaiFrame').style.width=screen.width-125
}
document.onkeydown = checkKeycode
function checkKeycode(e) {
var keycode;
if (window.event) keycode = window.event.keyCode;
else if (e) keycode = e.which;

if(keycode==13)
  {

   funccall();
  }
}

function funccallEnter()
{

if(window.event.keyCode==13)
  {

   funccall();
  }

}
</script>
<form name="frm1" onsubmit="javascript: return false">
<input name="q" value="" onkeyup="funccallEnter()" height="1" type="text" width="20%">&nbsp;<input style="" btng="" name="btnG" value="Search" onclick="funccall()" type="button">
</form>
<div class="content" id="gsaiFrame" width="100%">
   Hello! This is what I see when I open the page or click back!
</div>

 

Link to comment
Share on other sites

Min personliga åsikt är att iframe skall användas i extremaundantagsfall.

 

Google har en ajax grejsimojs som eventuellt löser ditt problem. Men annars kan du kanske köra en enkel proxy. Där du hämtar sidan från google server side och skriver ut den med response.write.

 

http://code.google.com/apis/ajaxsearch/

 

Link to comment
Share on other sites

Börjar misstänka att det är vägen att gå..

 

problemet är att vi i domän ETT ska presentera sök från en annan plats och första implementationen var just att läsa in search från google i en iframe.

 

Det ska ju vara en "seamless" lösning. Funderade på om man ska skriva ner en kaka med sökvärdet på och när man öppnar sidan "sök" så läser man upp kakan och kör söken på det.

 

Ska kolla.. tack.

 

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.



×
×
  • Create New...