Avatar billede ohrt Nybegynder
10. oktober 2001 - 15:32 Der er 9 kommentarer og
1 løsning

Hent tekst i ekstern js-fil

Jeg har en bullettekst, som går igen på en masse sider. I stedet for at skulle ind og rette til på samtlige disse sider kunne jeg godt tænke mig at lægge teksten i en separat js-fil, som siderne så kan hente teksten fra.
Hvordan skal js-filen se ud, og hvordan skal siderne kalde den frem?

Listen er som følger:
<ul>
<li><a href=\"../en/page1.htm\">tekst1</a></li>
<li><a href=\"../en/page2.htm\">tekst2</a></li>
<li><a href=\"../en/page3.htm\">tekst3</a></li>
</ul>
Avatar billede fri-hash Nybegynder
10. oktober 2001 - 15:43 #1
function liste()
{
document.write(\"
<ul>
<li><a href=\"../en/page1.htm\">tekst1</a></li>
<li><a href=\"../en/page2.htm\">tekst2</a></li>
<li><a href=\"../en/page3.htm\">tekst3</a></li>
</ul>
\")
}
så skriver du der hvor det skal indsættes:
<script> liste() </script>
Avatar billede fri-hash Nybegynder
10. oktober 2001 - 15:45 #2
ups, (\" .... \") skal ændres til (\' .... \') da der er \" inden i
Avatar billede ohrt Nybegynder
10. oktober 2001 - 15:52 #3
OK, men jeg skal vel have et link i HEAD til js-filen. Skal der ikke også ændres i \"-tegn, så nogle bliver til \'-tegn?
Ovenstående går nemlig galt. Ved <script> liste() </script> får jeg en fejl: Object expected.
Avatar billede ohrt Nybegynder
10. oktober 2001 - 15:57 #4
Jeg har ændret \" til \', men stadig går der ged i den.
Avatar billede fri-hash Nybegynder
10. oktober 2001 - 16:00 #5
ja følgende skal stå i head
<SCRIPT LANGUAGE=\"JAVASCRIPT\" SRC=\"filnavn.JS\"></SCRIPT>
Avatar billede fri-hash Nybegynder
10. oktober 2001 - 16:02 #6
går der mere ged i den end at den forventer objekt - det skulle være løst ved at inkludere filen i head
Avatar billede ohrt Nybegynder
10. oktober 2001 - 16:08 #7
Nu har jeg lavet en helt simpel side, men den giver \'Unterminated string constant\' et sted i HEAD, og \'Object expected\' nede i BODY:

<html>

<head>
<title>New Page 1</title>
  <script>
  function v_list()
  {
  document.write(\'
  <ul>
  <li><a href=\"../en/page1.htm\">tekst1</a></li>
  <li><a href=\"../en/page2.htm\">tekst2</a></li>
  <li><a href=\"../en/page3.htm\">tekst3</a></li>
  </ul>
  \')
  }
  </script>
<meta name=\"GENERATOR\" content=\"Microsoft FrontPage 4.0\">
<meta name=\"ProgId\" content=\"FrontPage.Editor.Document\">
</head>

<body>

  <script>
    v_list()
  </script>

</body>

</html>


Avatar billede ohrt Nybegynder
10. oktober 2001 - 16:09 #8
Jeg flytter så funktionen us i en JS-fil, når det virker
Avatar billede fri-hash Nybegynder
10. oktober 2001 - 16:17 #9
<html>

<head>
<title>New Page 1</title>
  <script>
  function v_list()
  {
  document.write(\'<ul><li><a href=\"../en/page1.htm\">tekst1</a></li><li><a href=\"../en/page2.htm\">tekst2</a></li><li><a href=\"../en/page3.htm\">tekst3</a></li></ul>\')
  }
  </script>
<meta name=\"GENERATOR\" content=\"Microsoft FrontPage 4.0\">
<meta name=\"ProgId\" content=\"FrontPage.Editor.Document\">
</head>

<body>

  <script>
    v_list()
  </script>

</body>

</html>

af en eller anden grund skal hele write-funktionen stå på en linie, så virker det
Avatar billede jakoba Nybegynder
10. oktober 2001 - 16:17 #10
din parameter til funktionen document.write skal være en javascript streng.
det betyder at den ikke må indeholde linieskift.
Så det skal enten skrive som een lang linie
document.write(\'<ul><li><a href=\"../en/page1.htm\">tekst1</a></li><li><a href=\"../en/page2.htm\">tekst2</a></li><li><a href=\"../en/page3.htm\">tekst3</a></li></ul>\')

eller som et \'regnestykke\' der lægger flere strenge sammen til een:
document.write(\'\' +
  \'<ul>\' +
  \'<li><a href=\"../en/page1.htm\">tekst1</a></li>\' +
  \'<li><a href=\"../en/page2.htm\">tekst2</a></li>\' +
  \'<li><a href=\"../en/page3.htm\">tekst3</a></li>\' +
  \'</ul>\' +
  \'\')

mvh JakobA
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