[javascript] Ciezki przypadek z JavaScript

HTML to podstawy w dziedzinie tworzenia stron WWW, Style CSS warto opanować, bowiem za ich pomocą można dostosować odpowiednio wygląd swojej witryny WWW. Zagłębiamy się dalej i udostępniamy w tym forum możliwość zadawania pytań o JavaScript.
ODPOWIEDZ
lilo
Posty: 11
Rejestracja: śr gru 08, 2004 10:08 am
Lokalizacja: wielkopolska
Kontakt:

[javascript] Ciezki przypadek z JavaScript

Post autor: lilo »

mam problem - pytanie... :roll:

Czy mozna w jednum pliku funkcje1.js odwolac sie do drugiego funkcje2.js ?

Lokalizacja plikow jest taka:
/funkcje1.js
/RRRR-MM-DD/funkcje2.js (gdzie folder RRRR-MM-DD to np. 2004-12-06,2004-12-07,itd.)

I teraz strona zapisana w folderze RRRR-MM-DD tworzy strone w nowym oknie za pomoca JavaScript.
Ta nowa strona odwoluje sie po scierzcze ../funkcje1.js.

A w funkcje1.js zrobilem odwolanie do funkcje2.js - document.write('<script src=\"funkcje2.js\"></script>');
Chodzi o to ze w funkcje2.js sa zapisane 2 zmienne (w kazdym folderze RRRR-MM-DD znajduje sie taki plik, i w kazdym sa inne zmienne.)
U mnie na Windzie wszystko smiga przy takim odwolaniu,
ALE jak sie okazalo na serverze juz nie, wyskakuje jakis blad skryptu.

KTOS WIE DLACZEGO I JAK TO POPRAWIC BY DZIALALO??
porneL
Nowy
Nowy
Posty: 161
Rejestracja: sob lis 27, 2004 7:50 pm
Lokalizacja: Londyn
Kontakt:

Re: [javascript] Ciezki przypadek z JavaScript

Post autor: porneL »

document.write() jest staroświeckim rozwiązaniem.

Ogólnie to mam wrażenie, że robisz jakiś paskudny hack i twoja strona nie będzie działała bez włączonego javascript...

Odpowiadając na pytanie:
[xml]
<script id="foo" type="text/javascript"></script>
<script type="text/javascript">document.getElementByID('foo').src="../DD-MM-YY/itd.js"</script>
[/xml]
lilo
Posty: 11
Rejestracja: śr gru 08, 2004 10:08 am
Lokalizacja: wielkopolska
Kontakt:

ogolnie

Post autor: lilo »

nie mam pojecia gdzie umiescic podany kod!
ogolnie to wyglada sprawa tak:
pod uwage nalezy wwziasc 3 pliki o takiej lokalizacji:

.../funkcje1.js
.../RRRR-MM-DD/RRRR-MM-DD[1].html (np. .../2004-12-10/2004-12-10[1].html
.../RRRR-MM-DD/funkcje2.js

czesc kodu pliku RRRR-MM-DD[1].html :

Kod: Zaznacz cały

in head:
...
<script type="text/javascript" language="javascript" src="../funkcje1.js"></script>
...
in body:
...
<a  href="javascript:openfotopoz('0001')"><img  src="img_small/mlodewilki.end.pl_0001.JPG" class="img_m1" /></a>
or
<a  href="javascript:openfotopio('0012')"><img  src="img_small/mlodewilki.end.pl_p0012.JPG" class="img_m1" /></a>
...
plik funkcje2.js wyglada tak:

Kod: Zaznacz cały

max1 = 104;
max2 = 28;
a plik funkcje1.js tak:

Kod: Zaznacz cały

document.write('<script src=\"funkcje2.js\"></script>'); 
function openfotopoz(jpg) //(c) lilo
{ 
var a = (screen.width/2)-340;
var b = (screen.height/2)-290;
var fot=window.open("", "openfotopoz", "toolbar=no, menubar=no, personalbar=no, location=no, status=no, resizable=yes, scrollbars=yes, directories=no, copyhistory=no, width=680, height=565, top="+b+", left="+a+",  personalbar=no, fullscreen=no, channelmode=no"); 
var head = '';
 head += '<?xml version=\"1.0\" encoding=\"iso-8859-2\" ?>\n';
 head += '<!DOCTYPE html PUB'+'LIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"DTD/xhtml1-transitional.dtd\">\n';
 head += '<html xmlns=\"http://www.w3.org/1999/xhtml\" xml:lang=\"pl\" lang=\"pl\">\n<head>\n';
 head += '  <title>www.mlodewilki.end.pl_' + jpg + '.jpg</title>\n';
 head += '  <meta http-equiv=\"content-type\" content=\"text/html; charset=iso-8859-2\" />\n';
 head += '  <meta http-equiv=\"content-language\" content=\"pl\" />\n';
 head += '  <li'+'nk rel=\"stylesheet\" href=\"../../styl.css"\ type=\"text/css\" />\n';
 head += '  <script type=\"text/javascript\" language=\"javascript\" src=\"../funkcje1.js\"></script>\n';
 head += '</head>\n';
var body = '';
 body += '<body cla'+'ss=\"java\">\n';
 body += '  <table cla'+'ss=\"j1ava\" cellPadding=\"0\" cellSpacing=\"0\" align=\"center\">\n';
 body += '    <tr>\n';
 body += '      <td cla'+'ss=\"j1_left_top\" rowspan=\"2\"> \n';
 body += '          <img src=\"../../images/logo_java.jpg\" cla'+'ss=\"img_java_logo\" />\n';
 body += '      </td>\n';
 body += '      <td cla'+'ss=\"j1_center_top\" align=\"center\" valign=\"middle\">\n';
 body += '          <span cla'+'ss=\"mpomar\">“M&#322ode Wilki” Team</span>\n';
 body += '      </td>\n';
 body += '      <td cla'+'ss=\"j1_right_top\" rowspan=\"2\">\n';
 body += '          <input type=\"button\" value=\"zamknij\" onclick=\"window.close()\" cla'+'ss=\"button1\" style=\"width: 70px; font-weight: bold\" /><br />\n';
 body += '      </td>\n';
 body += '    </tr>\n';
 body += '    <form name="nas'+'tepna">\n';
 body += '    <tr>\n';
 body += '      <td cla'+'ss=\"j1_center_top\" align=\"center\" valign=\"top\">\n';
 body += '          <input type=\"button\" value=\"poprzednie\" onclick=\"openfotopoz(\'';
 prevpoz = parseFloat(jpg);
 if (prevpoz == 0) window.close();
 prevpoz--;
 if (prevpoz < 10) body += '000';
 if (prevpoz >= 10 && prevpoz < 100) body += '00';
 if (prevpoz >= 100&& prevpoz < 1000) body += '0';
 if (prevpoz >= 1000) body += ''; 
 body += prevpoz;
 body += '\')\" cla'+'ss=\"button1\" style=\"font-weight: bold\" />        <input\n';
 body += '          type=\"text\" name=\"fotka\" value=\"';
 body += jpg;
 body += '\" size=\"4\" cla'+'ss=\"button1\" style=\"border-color: #ececec; width: 40px; background-color: #1C3D7D; font-size: 11px\" />        <input\n';
 body += '          type=\"button\" value=\"nast&#281pne\" onclick=\"openfotopoz(\'';
 nextpoz = parseFloat(jpg);
 if (nextpoz > max1)
 {
  window.close();
  openfotopio('0001');
 }
 nextpoz++;
 if (nextpoz < 10) body += '000';
 if (nextpoz >= 10 && nextpoz < 100) body += '00';
 if (nextpoz >= 100 && nextpoz < 1000) body += '0';
 if (nextpoz >= 1000) body += '';
 body += nextpoz;
 body += '\')\" cla'+'ss=\"button1\" style=\"font-weight: bold\" />\n';
 body += '    	</td>\n';
 body += '    </tr>\n';
 body += '    </form>\n';
 body += '    <tr>\n';
 body += '      <td cla'+'ss=\"j1_center_under\" colspan=\"3\" align=\"center\">\n';
 body += '          <img src=\"img_big/mlodewilki.end.pl_';
 body += jpg;
 body += '.JPG\" cla'+'ss=\"img1_java_jpg\" /></td>\n';
 body += '    </tr>\n';
 body += '  </table>\n';
 body += '</body>\n';
 body += '</html>\n';
fot.document.write(head + body);
fot.document.close();
fot.focus();
} //mail: [email protected];

function openfotopio(jpg) //(c) lilo
{ 
var a1 = (screen.width/2)-315;
var b1 = 0;
var fot=window.open("", "openfotopio", "toolbar=no, menubar=no, personalbar=no, location=no, status=no, resizable=yes, scrollbars=yes, directories=no, copyhistory=no, width=630, height=715, top="+b1+", left="+a1+", personalbar=no, fullscreen=no, channelmode=no"); 
var head = '';
 head += '<?xml version=\"1.0\" encoding=\"iso-8859-2\" ?>\n';
 head += '<!DOCTYPE html PUB'+'LIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"DTD/xhtml1-transitional.dtd\">\n';
 head += '<html xmlns=\"http://www.w3.org/1999/xhtml\" xml:lang=\"pl\" lang=\"pl\">\n<head>\n';
 head += '  <title>www.mlodewilki.end.pl_p' + jpg + '.jpg</title>\n';
 head += '  <meta http-equiv=\"content-type\" content=\"text/html; charset=iso-8859-2\" />\n';
 head += '  <meta http-equiv=\"content-language\" content=\"pl\" />\n';
 head += '  <li'+'nk rel=\"stylesheet\" href=\"../../styl.css\" type=\"text/css\" />\n';
 head += '  <script type=\"text/javascript\" language=\"javascript\" src=\"../funkcje1.js\"></script>\n';
 head += '</he'+'ad>\n';   
var body = '';
 body += '<body cla'+'ss=\"java\">\n';
 body += '  <table cla'+'ss=\"j2ava\" cellPadding=\"0\" cellSpacing=\"0\" align=\"center\">\n';
 body += '    <tr>\n';
 body += '      <td cla'+'ss=\"j2_left_top\" rowspan=\"2\"> \n';
 body += '          <img src=\"../../images/logo_java.jpg\" cla'+'ss=\"img_java_logo\" />\n';
 body += '      </td>\n';
 body += '      <td cla'+'ss=\"j2_center_top\" align=\"center\" valign=\"middle\">\n';
 body += '          <span cla'+'ss=\"mpomar\">“M&#322ode Wilki” Team</span>\n';
 body += '      </td>\n';
 body += '      <td cla'+'ss=\"j2_right_top\" rowspan=\"2\">\n';
 body += '          <input type=\"button\" value=\"zamknij\" onclick=\"window.close()\" cla'+'ss=\"button1\" style=\"width: 70px; font-weight: bold\" /><br />\n';
 body += '      </td>\n';
 body += '    </tr>\n';
 body += '    <form name=\"nastepna\">\n';
 body += '    <tr>\n';
 body += '      <td cla'+'ss=\"j2_center_top\" align=\"center\" valign=\"top\">\n';
 body += '          <input type=\"button\" value=\"poprzednie\" onclick=\"openfotopio(\'';
 prevpoz = parseFloat(jpg);
 if (prevpoz == 0)
 {
  window.close();
  openfotopoz('0'+max1);
 }
 prevpoz--;
 if (prevpoz < 10) body += '000';
 if (prevpoz >= 10 && prevpoz < 100) body += '00';
 if (prevpoz >= 100 && prevpoz < 1000) body += '0';
 if (prevpoz >= 1000) body += '';
 body += prevpoz;
 body += '\')\" cla'+'ss=\"button1\" style=\"font-weight: bold\" />        <input\n';
 body += '          type=\"text\" name=\"fotka\" value=\"';
 body += jpg;
 body += '\" size=\"4\" cla'+'ss=\"button1\" style=\"border-color: #ececec; width: 40px; background-color: #1C3D7D; font-size: 11px\" />        <input\n';
 body += '          type=\"button\" value=\"nast&#281pne\" onclick=\"openfotopio(\'';
 nextpoz = parseFloat(jpg);
 if (nextpoz > max2) window.close();
 nextpoz++;
 if (nextpoz < 10) body += '000';
 if (nextpoz >= 10 && nextpoz < 100) body += '00';
 if (nextpoz >= 100 && nextpoz < 1000) body += '0';
 if (nextpoz >= 1000) body += '';
 body += nextpoz;
 body += '\')\" cla'+'ss=\"button1\" style=\"font-weight: bold\" />\n';
 body += '    	</td>\n';
 body += '    </tr>\n';
 body += '    </form>\n';
 body += '    <tr>\n';
 body += '      <td cla'+'ss=\"j2_center_under\" colspan=\"3\" align=\"center\">\n';
 body += '          <img src=\"img_big/mlodewilki.end.pl_p';
 body += jpg;
 body += '.JPG\" cla'+'ss=\"img2_java_jpg\" /></td>\n';
 body += '    </tr>\n';
 body += '  </table>\n';
 body += '</body>\n';
 body += '</html>\n';
fot.document.write(head + body);
fot.document.close();
fot.focus();
} //mail: [email protected];
na stronie RRRR-MM-DD[1].html sa zdjecia, po kliknieciu otwiera sie w nowym oknie duze zdjecie. i teraz dla ulatwienia internautom postanowilem zrobic przyciski na wygenerowanej stronie [poprzednie foto] i [nastepne foto] . tylko ze moj sposob otwiera nastepne zdjecia w nieskonczonosc. wiec wymyslilem zeby nadac jakiejs zmiennej wartosc ostatniego zdjecia no i dale juz wiecie (porownanie i okreslona akcja).
i te zmienne sa wlasnie zapisane w pliku funkcje2.js !
tylko chodzi o to ze plik funkcje1.js musi sobie wczytac te 2 zmienne (max1 i max2) z pliku funkcje2.js !
a plikow funkcje2.js jest nieokreslona liczba tak jak folderow RRRR-MM-DD.
wyjasnilem najprosciej jak sie da.
dlacego na windzie to chodzi a na serverze juz nie?
porneL
Nowy
Nowy
Posty: 161
Rejestracja: sob lis 27, 2004 7:50 pm
Lokalizacja: Londyn
Kontakt:

Re: [javascript] Ciezki przypadek z JavaScript

Post autor: porneL »

nie mam pojecia gdzie umiescic podany kod!
No to do nauki!

Masz byk na byku. Nalezaloby wreszcie zapomnieć o nędznej konstrukcji <a href="javascript: i uzywać <a href="grafika.jpg" onclick="otworz(this.href); return false;">

Poza tym wpadasz w typowy XHTMLowy nonsens. XHTML ma jedynie wady, gdy się nie używa go w trybie XML, wysyłając jako application/xhtml+xml (nieobsługiwane przez IE).
Natomiast w tym trybie document.write z założenia nie działa, więc albo wróć do HTML i używaj document.write z polowy lat 90 albo przestaw się na XHTML i DOM z XXI wieku.

W kodzie JavaScript nie może się znaleźć ciąg znaków </. Musisz wszystkie jego wystąpienia zamieić na <\/
lilo
Posty: 11
Rejestracja: śr gru 08, 2004 10:08 am
Lokalizacja: wielkopolska
Kontakt:

Re: [javascript] Ciezki przypadek z JavaScript

Post autor: lilo »

juz sie biore do nauki! dzieki! :roll:
porneL
Nowy
Nowy
Posty: 161
Rejestracja: sob lis 27, 2004 7:50 pm
Lokalizacja: Londyn
Kontakt:

Re: [javascript] Ciezki przypadek z JavaScript

Post autor: porneL »

alistapart.com
w3schools.com
ODPOWIEDZ