Avatar billede sa Nybegynder
25. juli 2002 - 23:02 Der er 8 kommentarer og
2 løsninger

Inkludering af js-fil vha. javascript

Jeg ønsker at vise et banner på et site, såfremt browserens innerwidth overstiger et vist antal pixels, hvilket normalt ikke er et problem, da det blot er at lave en if-sætning i javascript og udskrive html-kilden for banneret med document.write såfremt betingelsen er opfyldt.

Problemet ligger i, at banneret er dynamisk og stammer fra en anden tjeneste på nettet, som kræver at det includeres som en js-fil efter princippet <script type="text/javascript" language="javascript" src="http://..."> (i praksis en asp-fil, som på baggrund af en parameter genererer javascriptet, som udskriver banneret).

Er det på nogen måde muligt at inkludere en sådan js-fil vha. javascript, således at det kan gøres udelukkende såfremt den tidligere nævnte betingelse er opfyldt?

Løsningsforslag er velkomne...
Avatar billede jakoba Nybegynder
25. juli 2002 - 23:16 #1
I Netscape kan du blot skrive den script-kode med document.write som du plejer. I IE gar det ikke altid godt sådan at skrive en scriptsektion med et script. men prøv.
Avatar billede =maddog= Nybegynder
26. juli 2002 - 00:18 #2
www.mycgiserver.com/~maddog/resource.jsp?nn=javascript
vælg filen readFile.js
Den indeholder en function der loader js-filer ved funktionskald.
Avatar billede coolcoder Nybegynder
26. juli 2002 - 15:14 #3
i IE kan du sagtens document.write et script-tag. Bare del det op. Fx

document.write('<scri'+'pt src=\'js.asp?id=2\'></scri'+'pt>');
Avatar billede jakoba Nybegynder
26. juli 2002 - 15:17 #4
coolcoder >> ja det virker fint, men hvis det script der sådan inkluderes igen bruger document.write kan IE nogen gange blive forvirret.
Avatar billede sa Nybegynder
27. juli 2002 - 01:40 #5
Den eneste af de browsere, jeg umiddelbart har testet i, hvor coolcoder's forslag fungerer, er NS 4.

I IE 6 og NS 7 udskrives document.write's indhold fra js.asp, men placeres ikke korrekt (nemlig uden for den tabel-celle, hvor den burde have været).

I Opera 6 udskrives indholdet slet ikke.
Avatar billede sa Nybegynder
27. juli 2002 - 01:41 #6
=maddog= >> Det lyder som et godt forslag.. - Jeg kan dog ikke lige få det til at fungere, så det kan være, du skal forklare lidt nærmere.

Indholdet genereret af js.asp består af en værre variable og en document.write, som udskriver html-kilde på baggrund af disse.
Avatar billede sa Nybegynder
27. juli 2002 - 01:42 #7
.. og her kommer den rigtige sætning  :)

Indholdet genereret af js.asp består af en række variable og en document.write, som udskriver html-kilde på baggrund af disse.
Avatar billede =maddog= Nybegynder
27. juli 2002 - 03:52 #8
ok så er det ikke min løsning du skal lede efter. jeg appender js filer i head hvor de bør være....
hvor ¤"%%& vil du også document.write noget??????
Avatar billede sa Nybegynder
27. juli 2002 - 15:06 #9
1. Det jeg selv vil document.write er en ekstra celle i en tabel, såfremt browserens bredde er større end et konkret antal pixels.

2. Det, som skal indsættes i den "ekstra" celle, er som tidligere nævnt et banner fra en anden service, som har defineret, at det skal indsættes i form af en <script src="http://den.anden.service/banner.asp?minkode=x"></script>, hvor banner.asp genererer nogle js-variable og en document.write . Det er altså ikke noget jeg selv har valgt (eller ville have valgt i en lignende sammenhæng), men desværre heller ikke noget, jeg har indflydelse på eller kan ændre.

.. men det ser ud til, at løsningen enten må blive, at cellen altid er der, eller at den kommer til at indeholde en iframe med det ønskede indhold (hvilket jeg også selv betragter som en dårlig løsning, men jeg kan ikke lige se andre..)
Avatar billede sa Nybegynder
28. juli 2002 - 15:39 #10
Et par point til coolcoder for hjælpen, selvom det ikke fungerede i det aktuelle tilfælde..
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