Avatar billede neocron Nybegynder
11. august 2007 - 16:28 Der er 13 kommentarer og
1 løsning

Javascripts på Win 2003

Hej,
Jeg sidder i øjeblikket og tester et par ting på en maskine med Windows 2003. En af de ting der falder mig for øjet er at den som standard blokerer redirect. Det skal siges at jeg ikke har ret meget forstand på javascript, så jeg ved ikke hvordan man nemmest løser problemet.

F.eks dette super simple script:

<script type="text/javascript">
function goTest() {
  location.href="testside2.html";
}
</style>

<input type="button" value="Test" onclick="java script:goTest();">

Hvis man kører normal Windows XP bliver man straks sparket korrekt videre, men Windows 2003 har jo betydelig større sikkerhed og derfor sker der - ingenting. Hvordan kan jeg modificere dette således at det altid vil virke? (måden som jeg skal bruge det på gør at jeg ikke kan bruge forms m. GET/POST).
Avatar billede w13 Novice
11. august 2007 - 20:28 #1
Hvad med window.location.href?
Avatar billede neocron Nybegynder
11. august 2007 - 21:15 #2
Har lige testet med window.location.href, men denne giver desværre samme resultat som hvis man undlod window.
Avatar billede thesurfer Nybegynder
11. august 2007 - 22:56 #3
Mon ikke at det er fordi du startet script blokken med SCRIPT, men slutter med STYLE, som bruges til CSS..? :-)
Avatar billede w13 Novice
11. august 2007 - 23:08 #4
:)
Avatar billede neocron Nybegynder
12. august 2007 - 07:57 #5
Haha nix, startes med <script type="text/javascript"> og sluttes med </script> :)

Og det er som sagt kun 3 liniers kode. Hvis man kan opnå en redirect uden javascript er jeg også lutter ører for ændring af system rettighederne er ikke en mulighed, desværre.
Avatar billede thesurfer Nybegynder
12. august 2007 - 10:54 #6
neocron>
Avatar billede thesurfer Nybegynder
12. august 2007 - 10:56 #7
Fik ikke det hele med.. prøver igen.. :-)

neocron> Jeg kan bare se, at du har brugt </style> i dit spørgsmål, og gik ud fra, at det var noget kode du havde kopieret fra din kode..

Hvad med at bruge et almindeligt link? Ellers er der sådan set ikke andre muligheder..
Avatar billede thesurfer Nybegynder
12. august 2007 - 11:07 #8
Med almindeligt link, mener jeg:

<a href="testside2.html">Test</a>

Men det burde ikke have noget med sikkerhedsindstillingerne at gøre..
Avatar billede neocron Nybegynder
12. august 2007 - 12:51 #9
Ahh, det er da fordi det var mig der var en hat da jeg oprettede spørgsmålet. Jeg sad ikke hjemme og kunne ikke copy-paste. Så </style> i spørgsmålet er en ren tastefejl herinde og er ikke i koden :)

Det må være noget man kan ændre, for på alm. Windows XP er der ingen problemer, men på Windows 2003 Server nægter den konsekvent at udføre det. Men jeg må prøve at lave nogle dirty hacks og noget workaround så :)
Avatar billede thesurfer Nybegynder
12. august 2007 - 13:22 #10
Prøv med 12/08-2007 11:07:59

Hvis det virker, hvilket det burde, kan du prøve følgende:

<a href="testside2.html" id="mitlink">Test</a>

og:

function goTest() {
  document.getElementById("mitlink").click(); // muligvis bare uden "()": .click
}

med knappen:

<input type="button" value="Test" onclick="java script:goTest();">
Avatar billede olebole Juniormester
12. august 2007 - 16:42 #11
<ole>

Det tror jeg ikke, du kan løse i et alm. HTML-dokument på en Win2003. I et aspx-dokument, kan det vist løses ved at undlade at sætte smartNavigation til true  =)

- og så er det iøvrigt misforstået at bruge 'java script:' i event-handlers ... der skal det _aldrig_ stå  ;o)

/mvh
</bole>
Avatar billede neocron Nybegynder
12. august 2007 - 18:39 #12
Jeg har løst problemet på en anden måde.

Først har jeg erstattet de nemmeste med links. Altså ændret fra <input type="button"... til <a href="blabla"... hvilket sparede mig fint der. Alternativt kunne jeg have rykket knapperne ned og lavet en sekundær form.

Med den anden type redirect har jeg erstattet javascriptet med PHP's header(). Løsningen der er at indlede med ob_start() og ob_end_flush() for at forhindre at headerne bliver sendt med det samme.

Surfer, jeg synes du skal smide et svar. Det var dig der fik mig til at tænke i alternative baner med links :) Jeg vil teste det sidste script men med den nye ændring er det faktisk slet ikke behov for det mere ;)
Avatar billede thesurfer Nybegynder
12. august 2007 - 20:57 #13
Helt iorden :-)
Avatar billede olebole Juniormester
12. august 2007 - 23:27 #14
At bruge output-buffering (ob_start og ob_flush) er en skidt løsning. Det suger bunker af unødig hukommelse på serveren og kan let undgås med lidt god kodeskik:
Hold altid markup og serverkode adskilt - så er koden til at overskue og du får ikke header-fejl  ;o)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester