Just nu i M3-nätverket
Jump to content

frames och javascript?


Christian B

Recommended Posts

Christian B

Hej nu skulle jag väldigt gärna mottaga tips om hur jag skall kunna se till så att besökare inte hamnar utanför framesetet när de besöker hemsidan.

 

Vad jag är ute efter är ett script som skickar in den begärda sidan i ett frameset. Jag är alltså inte ute efter ett script som bara skickar besökaren till startsidan utan vill alltså kunna ladda begärt dokument i framesetet... Jag försöker förtydliga, såhär ser min situation ut: Vi har ett diskussionsforum där besökare kan tipsa andra besökare om olika inlägg. När besökaren skickar tipset får mottagaren av tipset ett mail med adressen till det aktuella inlägget.

 

Det är här jag vill trolla... alltså lägga in sidan med det aktuella inlägget i huvudhemsidans frameset. Det skulle alltså vara lämpligt att man på något sätt kunde generera framesetets src-hänvisningar dynamiskt. Är detta möjligt? Om ja, hur gör jag?

 

Mycket tacksam för svar!

 

Med vänlig hälsning

Link to comment
Share on other sites

Christian B

Glömde att tillägga att jag naturligtvis helst vill använda ett serverbaserat script om möjligt.

Link to comment
Share on other sites

Det bästa sättet är att sluta använda frames! Kanske inte vad du letade efter, men ändå den bästa lösningen. Skapa includefiler som innehåller menyer etc och som ligger i tabeller med samma utseende som din nuvarande sida. Då kan du alltid länka direkt till en sida och alla kommer att se likadana ut.

 

<!--- include file="sidstart.asp">

 

Här ligger den unika koden för varje sida.

 

<!--- include file="sidslut.asp">

Link to comment
Share on other sites

Christian B

Hej Mats,

Nej det var inte det jag letade efter men tack ändå för ditt tips, det är ju alltid en sista lösning om jag inte kan få det att funka på annat sätt.

Link to comment
Share on other sites

Magnus Gladh

Ja det går att göra och inte så svårt, fast lite krångligt....

 

1. Du måste kolla om sidan är i dina frames eller ej

2. Kolla vilken sida det är du tittar på

3. Ha en array(eller liknande) där du kollar vilka olika framessidor som skall finnas när denna sida visas.

4. ladda de olika sidorna i de olika framesen

 

Om det går att lösa med Serverscript vet jag inte, men det borde väl gå att lösa med JScript iallafall och det kan du ju köra på server.

 

- Magnus

Link to comment
Share on other sites

Christian B

Hej

 

Jag lyckades lösa det genom att använda ett javascript som skickar vidare besökaren om han är utanför framesetet , Sidan som han skickas till är ett frameset där jag laddar föregående sida på anvisad plats i framesetet med hjälp av en session från föregående sida... hmm kanske inte är så bra på att förklara...

 

Hur som helst, finns det något sätt att byta ut följande javascript som körs på klientsidan så att även de som vägrar att tillåta javascript kommer rätt?

 

---

<script language="javascript">

<!--

if (self == parent)

document.location="forumet.asp";

//-->

</script>

---

 

Jag testade med att lägga in

--

<%

sidref=request.servervariables("http_referer")

if sidref = "" then

response.redirect("forumet.asp")

end if

%>

---

... men det funkar inget vidare av två anledningar, för det första så kan man ju inte vara säker på att någon inte gör en länk till mitt forum och då blir ju inte sidref tom, dvs då laddas inget frameset. Detta skulle jag dock kunna leva med men det andra problemet är värre och det är att det inte fungerar i netscape, netscape laddar nämligen framesetet i evighet om man skriver som jag gjort ovan... inget vidare alltså.

 

Alla tips mottages tacksamt!

Link to comment
Share on other sites

Magnus Gladh

Din javascript kod borde gå att köra i JScript alltså kan du skriva följande:

 

<script language="JScript" Runat="server">

 

</scrip>

 

Vilket gör att scriptet kommer att utföras på servern och inte på klienten...

 

- magnus

 

 

Link to comment
Share on other sites

Archived

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



×
×
  • Create New...