2010-04-29 3 views
1

EDIT: Code de la tête affichée EDIT 2: précisions sur phpéchec Jquery après le site a été mis en

J'ai été la conception d'un site pendant des semaines à l'aide de JQuery. Je n'ai pas de serveur local ni de serveur de test, donc je viens de créer un répertoire via FTP, '/ testing'. Tout fonctionnait bien dans le répertoire de test.

J'ai essayé d'aller en direct ce soir en déplaçant tous les fichiers dans '/ testing' vers le répertoire racine et j'ai changé tous les chemins de fichiers et les sources de script en conséquence. Le site se charge, mais tout ce qui concerne JQuery n'est pas fonctionnel. Javascript console donne des erreurs de (comme un exemple d'un plug-in):

« $ .os.name » est pas une fonction

Je suis à la perte de ce qu'il faut faire. J'ai changé les chemins référençant la bibliothèque JQuery, installé une nouvelle copie de JQuery (dans un nouveau répertoire), etc.

Il y a une installation wordpress dans un autre répertoire '/ blog'. J'ai lu sur quelques problèmes de compatibilité avec wordpress, mais cela semble être lié à l'utilisation de JQuery à l'intérieur de wordpress, que je ne suis pas.

Voici le code de la tête:

<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<link href="main.css" rel="stylesheet" type="text/css"> 
<link href="jquery.lightbox-0.5.css" rel="stylesheet" type="text/css"> 
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script> 
<script type="text/javascript" src="jq.browser.js"></script> 
<script type="text/javascript" src="compatible.js"></script> 
<script type="text/javascript" src="nav.js"></script> 
<script type="text/javascript" src="jquery.lightbox-0.5.js"></script> 
<script type="text/javascript"> 
$(function() { 
$('a.lightbox').lightBox(); 
}); 
</script> 
<title>Pearce Images</title> 
<script type="text/javascript" src="slider.js"></script> 
<link href="slider.css" rel="stylesheet" type="text/css"> 
</head> 

Il est intéressant de noter que toutes les pages sont en PHP. Je ne suis pas un développeur PHP, j'utilise seulement 1 fonction: require_once ('some.file.php'). (désolé pour aucun balisage de code, mais je ne peux pas obtenir une poignée sur cette chose markdown). J'utilise simplement cela pour tirer le même code pour un en-tête et un pied de page pour toutes les pages, de cette façon, si des changements doivent être faits, je n'ai qu'à changer un morceau de code.

Votre aide est grandement appréciée.

+0

J'ai édité ma réponse. Serait bon de voir aussi ce que 'compatible.js' fait. – Strelok

Répondre

0

Commencez par essayer de télécharger le fichier jquery.js (ou quel que soit son nom) depuis votre navigateur. Allez à Afficher la source. Certains navigateurs mettent automatiquement en surbrillance les liens afin que vous puissiez les cliquer. Voyez si le fichier jquery.js se charge lorsque vous le visitez. Sinon, vous avez un problème de configuration du serveur.

Sinon, créez un fichier HTML simple qui utilise votre script jQuery. Si cela fonctionne très bien, vous aurez isolé le problème.

Une chose à tester est de voir si la variable jQuery est toujours disponible. $ peut avoir été modifié pour faire référence à une autre bibliothèque JavaScript. Si c'est le cas, vous n'avez pas à remplacer tous vos $ s avec jQuerys; vous pouvez garder votre code compatible avec le code en utilisant d'autres plug-ins en enroulant votre code en utilisant jQuery comme ceci:

(function($){ 
    /* Code using $ for jQuery. */ 
}(jQuery)); 
+0

J'ai pu télécharger le fichier (si vous voulez dire pointez l'adresse de mon navigateur sur le fichier jquery) J'ai créé une simple page html, avec une simple alerte via jquery, pas de chance. Je vais devoir essayer le problème de la comptabilité le matin, je pourrais avoir besoin de dormir bientôt. –

0

Pour dépanner, essayez pointer le tag <script> pour jQuery à la source des bibliothèques Google AJAX à http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js. Si cela fonctionne, alors vous ne faites que gâcher votre attribut src. Affichez l'en-tête que vous avez dans votre page et où vous avez placé jQuery physiquement.

EDIT (après avoir regardé le code): Je me demande si "compatible.js" est en train de surcharger la déclaration de fonction $. Essayez de remplacer toutes les instances où vous utilisez $ avec seulement jQuery. Aussi, votre Javascript ne semble pas être en <script> tags.Faites votre regard de code comme ceci:

<head> 
    <link href="main.css" rel="stylesheet" type="text/css"> 
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script> 
    <script type="text/javascript" src="compatible.js"></script> 
    <script type="text/javascript" src="jquery.lightbox-0.5.js"></script> 
    <script type="text/javascript"> 
     jQuery(document).ready(function() { jQuery('a.lightbox').lightBox(); }); 
    </script> 
    <title>Pearce Images</title> 
    <link href="slider.css" rel="stylesheet" type="text/css"> 
+0

Essayé la source google, même problème malheureusement. J'ai ajouté le code tête demandé (désolé si cela semble étrange, j'ai eu du mal avec la démarque ...). –

0

Il est peut-être un problème de copier-coller, mais il y a un espace supplémentaire après « 1.4.2 »:

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2 /jquery.min.js"></script> 
+0

si seulement c'était si simple, juste une copie et passé sur celui-là, j'ai peur. Merci pour le bon oeil cependant. –

0

Vérifiez également si vous appelez jquery à nouveau de compatible.js ... cela peut parfois provoquer ce problème ....

0

homme Oh, je me sens comme un crétin:

<script type="text/javascript" src="jq.browser.js"></script> 

Est un plugin pour détecter le type de navigateur et os, c'est ce que le fichier "compatible.js" utilise. Je n'ai apparemment pas réussi à transférer cela tant de fois la nuit dernière. Je ne sais pas pourquoi il a brisé le reste des fonctions jquery, je pense que ce serait tout simplement sauter les fonctions compatibles, c'est le contenu de compatible.js:

var links = "a.links,a.trigger"; 
var folio = "a.portfolio"; 
// 
// 
$(document).ready(function() { 
if ($.os.name == "mac") 
{ 
$(links).css("fontSize","76.6%"); 
$(folio).css("fontSize","76.6%"); 
$(links).css("top","-4px"); 
$(folio).css("top","5px"); 
} 
}); 

Tout va bien, merci pour tous les types d'aide !

Questions connexes