Oprettet man. d. 30. august 2010 kl. 20:20:18

timmwillum
timmwillum (11.305 point. Point ude: 200)

Skifte parent window

Hej alle eksperter

Har behov for et script, der kontrollerer om brugeren af et site har bruger den rigtige url ...

Først skal den indtastede url kontrolleres. Hvis det er brugerens "asp-url" (i mangel af bedre ord ... fx www.mitdomæne.dk/web/1234/default.asp?user=migselv), så skal der redirectes til en ekstern url, så brugeren ser det mere mundrette url www.migselv.dk. Dette domæne er så i virkligeheden bare en 100% frame, der viser det mere kryptiske asp-url.

Beklager hvis det er sort snak ... jeg uddyber gerne.

Stiler spørgsmålet i kategorien javascript, da jeg går ud fra, at det er hvad der skal til ... programmerer selve siderne i asp.

Skrevet man. d. 30. august 2010 kl. 22:04:26| #1

Du mener at der i browserens "adresse" skal stå: http://www.migselv.dk
- selvom dette "domæne" ikke eksisterer ?

Hvis ja, så nej - det kan man ikke.

Skrevet man. d. 30. august 2010 kl. 23:15:18| #2

timmwillum
timmwillum (11.305 point)
Nej ... det er et eksisterende url. Lad mig forsøge at forklare ...

Har et bruger-cms, hvor den enkelte brugers url bliver lidt kryptisk, fordi der skal skrives nogle variabler med i url'en. Samtidig er der for nogle brugere oprettet domæner med redir til cms-systemet. Fint nok.

Problemet opstår så, når fx google finder den lidt kryptiske og lange asp-url direkte ind til cms-systemet. Hvis besøgende kommer ind ad den vej, vil jeg gerne redirecte dem til den mere pæne url (brugerens eget domæne). Og på dette domæne er der så bare en frame, hvor cms-modulet vises i ...

Skrevet tir. d. 31. august 2010 kl. 00:27:16| #3

Ahh OK - så kan man godt : )
- med java script:

<head><script>
if (top.location.href.indexOf("default.asp?user=") > -1)
    {
    var user = top.location.href.substring(top.location.href.indexOf("default.asp?user=")+17)
    alert("user:"+user)
    top.location.href.replace("http://www."+user+".dk")
    }

Skrevet tir. d. 31. august 2010 kl. 08:37:42| #4

timmwillum
timmwillum (11.305 point)
Tak og ... hmmm. Jeg er ikke helt spiffy til JavaScript, så jeg skal lige have noget hjælp.

Jeg går ud fra at default.as?user= skal erstattes med min fulde url i CMS-systemet? Men vil den være ligeglad med hvad der kommer efter lighedstegnet ... altså så den redirecter uanset brugernavnet?

jeg går ud fra at "+user+" skal erstattes med brugernavnet ... eller domænenavnet. I asp fx "&<%=request("user")%>&".

Skrevet tir. d. 31. august 2010 kl. 09:20:47| #5

Nej, den skulle være komplet (dog utestet)

Hvis man "kommer ind" med:
http://www.mitdomæne.dk/ (...)

Burde min kode "redirecte" til:
http://www.migselv.dk

Skrevet tir. d. 31. august 2010 kl. 09:48:39| #6

timmwillum
timmwillum (11.305 point)
Fantastisk ... det glæder jeg mig til at teste i aften. Foreløbig tak for indsatsen.

Skrevet tir. d. 31. august 2010 kl. 10:00:03| #7

problemer opstår dog, hvis der er flere parametre i "den lange" URL
- at den peger på en bestemt side f.eks...

Min kode bruger jo ALT der måtte komme efter "default.asp?user=" som nyt domænenavn..

Skrevet ons. d. 01. september 2010 kl. 22:27:01| #8

timmwillum
timmwillum (11.305 point)
Har lige prøvet her til aften ... der sker ikke noget som helst.

Jeg har flere parametre, men heldigvis har jeg næsten konsekvent holdt user som sidste parameter, så det går endda.

Har dog en anden udfordring. For nogle af domænerne, der sende stil indeholder bindestreg. Men det kan brugernavnene ikke. Det vil sige at user=migselv skal kunne redirectes til www.mig-selv.dk. Kan man skille parametren ad med JavaScript ... jeg er med på, at det så nok skal være specifikt for den enkelte bruger.

Skrevet tor. d. 02. september 2010 kl. 08:48:30| #9

Hm.. der må da idetmindste komme en alert ?
- ellers er der noget andet galt - bruger du FireFox med FireBug og dennes error console åben ?

"Næsten konsekvent" - LOL

Må jeg ikke se et eksempel på en "lang URL", så jeg kan prøve selv ?

Skrevet tor. d. 02. september 2010 kl. 11:09:18| #10


Skrevet tor. d. 02. september 2010 kl. 11:12:05| #11

timmwillum
timmwillum (11.305 point)
Og nej ... ingen reaktion overhovedet. Nu skal det dog siges, at min parameter ikke hedder "user", men UserName. Jeg har derfor tilpasset koden sådan:

<script>
if (top.location.href.indexOf("default.asp?UserName=") > -1)
    {
    var user = top.location.href.substring(top.location.href.indexOf("default.asp?user=")+17)
    alert("user:"+user)
    top.location.href.replace("http://www."+user+".dk")
    }
</script>


Og nu ser jeg pludselig, at jeg nok også skal ændre denne del:

top.location.href.substring(top.location.href.indexOf("default.asp?UserName=")+17) ...

Burde det så ikke gøre forskellen? Prøver igen i aften.

Skrevet tor. d. 02. september 2010 kl. 12:30:04| #12


Skrevet tor. d. 02. september 2010 kl. 15:35:17| #13

timmwillum
timmwillum (11.305 point)
Det er blot et eksempel på hvordan url'en ser ud. Jeg er ikke interesseret i at lægge den faktiske url til offentlig skue :-)

Skrevet tor. d. 02. september 2010 kl. 22:40:11| #14

timmwillum
timmwillum (11.305 point)
Har nu følgende kode (ændret user til UserName):

<script>
if (top.location.href.indexOf("default.asp?UserName=") > -1)
    {
    var user = top.location.href.substring(top.location.href.indexOf("default.asp?UserName=")+17)
    alert("user:"+user)
    top.location.href.replace("http://www."+user+".dk")
    }
</script>


.... INGENTING sker. Hvad gør de +17? Har dt noget med længden af urlen at gøre? For jeg har jo naturligvis forskellige længder forskellige steder afhængig af antal parametre.

Skrevet fre. d. 03. september 2010 kl. 00:04:10| #15

17 er længden på "default.asp?UserName=".
Resten af URL'en = Starter 17 tegn efter dér, hvor "default.asp?UserName=" starter.

Men det dur jo ikke hvis der er andre parametre, bagefter.

Og hvis der er en page=xxx parameter, bliver den jo også hugget af, så der redirigeres til sitets "homepage" uanset hvad der er klikket på ude på Google.

Det var derfor jeg gerne ville se "den ægte vare"
- for selvfølgelig kan det løses..

Skrevet ons. d. 09. marts 2011 kl. 20:50:18| #16


Skriv et indlæg




Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] [img]link til billede[/img]
Web- og emailadresser omdannes automatisk til links

Log ind

   

   

Seneste spørgsmål

Tabindex!

Oprettet den 11. februar 2012 kl. 11.37
thomasfricke giver 30 point for svar | Giv et svar »

skal frem brugernavn ned og sige om den har eller ej

Oprettet den 11. februar 2012 kl. 02.44
tobrukDk giver 20 point for svar | Giv et svar »

Muligvis script-konfllikt i jquery. Min slider vises...

Oprettet den 9. februar 2012 kl. 23.00
Peterjakobsen giver 30 point for svar | Giv et svar »

Seneste guides

Installer win 7
Den gode bruger


   




Tips & Tricks fra PC World

Teaser billede

Her er fem sjove danske websider du skal kende

Trænger dine lattermuskler til en omgang fitness på dansk? Vi viser vej til fem websider fyldt med humor og vanvittig satire.


Anmeldelser fra PC World

Teaser billede

Test: Denne super-tablet er iPads hårdeste konkurrent

Eee Pad Transformer Prime er frygtindgydende med sin quadcore processor og evne til at trylle sig om til bærbar. Apple bør kigge i bagspejlet, for Asus' tablet-pc kommer buldrende - og gør det...


Seneste blogindlæg

Teaser billede

Tvangslukke spørgsmål: Hvad er den bedste løsning?

Hej Vi har mange åbne spørgsmål på Eksperten. Vi ville gerne tvangslukke dem - så et spørgsmål efter f.eks. 6 måneder lukkes. Men der er et par uklarheder som ville være gode at få lidt input til:...


Nyheder fra PC World

Teaser billede

Nu kan du snart hente Windows 8

Den nye offentlige betaversion af Windows 8 er klar i denne måned.


Nyheder fra Computerworld

Teaser billede

Måske snart slut med Androids helt store problem

Android-platformen har længe været plaget af et særligt problem. Men måske er problemet nu ved at være elimineret.


Kurser
Samarbejdspartnere

Udgiver · © 2012 IDG Danmark A/S · Hørkær 18 · 2730 Herlev · Tlf.: 77 300 300 · Fax: 77 300 301 · Brug af personoplysninger