11. august 2007 - 16:28Der 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>
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).
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.
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å :)
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)
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 ;)
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)
Synes godt om
Ny brugerNybegynder
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.