Witam
Mam problem z JS. FireBug pokazuje taki oto błąd:
ReferenceError: $ is not defined
$(document).ready(function(){
Podejrzewam, że źródłem problemu może być to, że moja strona jest budowana dynamicznie za pomocą PHP, który funkcją include dodaje nowe części strony z różnych plików.
Wygląda to u mnie tak:
// Dodanie komponentów strony:
include('./schematy/standard/sekcjaNaglowek.php'); // w tym komponencie znajduje się właśnie odniesienie do skryptu, który sprawia problem
include('./schematy/standard/sekcjaGora.php');
include('./schematy/standard/sekcjaStronaGlowna.php');
include('./schematy/standard/sekcjaStopka.php');
sekcjaNaglowek.php:
<?php
// NAGŁÓWEK STRONY WYPEŁNIANY DYNAMICZNIE \\
// Zdefiniowanie strony i dostosowanie danych meta do wyniku
// Dobór odpowiednich skryptów i styli
if(IDENTYFIKATOR_STRONY == 'stronaGlowna') {
$tytul = '<title>ENGO Strona Główna</title>';
$skryptJS = '<script type="text/javascript" src="./skrypty_java/stronaGlowna.js"></script>';
}
// Wysłanie treści finalnej nagłówka - HEAD
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />'
.$tytul.'
<link href="./style_css/standard/uklad.css" rel="stylesheet" type="text/css" />
<link href="./style_css/standard/tresc.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="./skrypty_java/sekcjaGora.js"></script>
<script type="text/javascript" src="./skrypty_java/sekcjaStopka.js"></script>'
.$skryptJS.'
</head>';
?>
Dodam jeszcze treść tego skryptu:
// WCZYTANIE WSZYSTKICH FUNKCJI SEKCJI STRONY GŁÓWNEJ:
$(document).ready(function(){
przyciskZalogujSie();
przyciskZarejestrujSie();
});
// FUNKCJE:
function przyciskZalogujSie(){
$('#panelUzytkownika').on('click', 'input[name="zaloguj"]', function(){
alert('Kliknąłeś zaloguj się');
});
}
function przyciskZrejestrujSie(){
$('#panelUzytkownika').on('click', 'input[name="rejestruj"]', function(){
alert('Kliknąłeś zarejestruj się');
});
}
Moja teoria jest taka, że PHP dołączają ten pierwszy plik "sekcjaNaglowek.php" od razu wysyła do przeglądarki odwiedzającego, ta następnie ją od razu interpretuje i kończy swoją interpretację tylko na HEAD, a chwilę potem otrzymuje kolejne treści strony - czyli "sekcjaGora", "stronaGlowna" i "sekcjaStopka".
Stąd chyba pochodzi ten problem.
Pytanie tylko, czy dobrze myślę i jak można rozwiązać ten problem?
Lub
Może problem tkwi w czym innym.