Si l'Instruction de ne pas travailler avec Et (&&) Opérateur
Je vais avoir un moment difficile la rédaction de ce qui semble qui devait être une simple instruction si! J'ai besoin de dire si le mod n'est pas égal à a, b, ou c, puis le faire. Voici ce que j'ai essayé, mais ont été infructueuses:
var mod = CURRENT_MODULE_ID;
if (mod != "5827289" && mod != "5195103" && mod != "5181422") {
doSomething();
}
Lorsque je tape cette adresse dans mon éditeur, il dit qu'il y a une erreur, à savoir que "Le nom de l'entité doit suivre immédiatement le" & " dans l'entité de référence."
.. et ne fonctionne pas quand je vais pour tester.
Toute aide est très appréciée!!
Mise à JOUR:
L'url: esber.squarespace.com
Le script complet:
<script type="text/javascript" src="/storage/scripts/sessvars.js"></script>
<script type="text/javascript">
<![CDATA[
onload=function(){
sessvars.browserConfirmation?'none':'';
sessvars.ageConfirmation?'none':'';
};
var mod = Squarespace.Constants.CURRENT_MODULE_ID;
if (mod != "5827289" && mod != "5195103" && mod != "5181422") {
if(sessvars.ageConfirmation != "yes"){
window.location = "/verify/";
};
};
]]>
</script>
Je veux que chaque page du site pour rediriger automatiquement au chargement de la page pour vérifier la page, sauf si elle est le fait de vérifier la page (ou vérifier), le "Vous n'êtes pas vérifié" à la page (/non-vérifié), ou la page de login (connexion) - à moins que l'utilisateur déjà vérifié par le réglage de la sessvars, alors ils peuvent continuer sur la page d'accueil.
Pour tester ce je vais esber.squarespace.com et cliquez sur l'un des éléments de menu à droite (ce menu finirait par être caché quand je suis fait avec la page) -- quand j'essaie d'aller à une autre page sans veriying mon âge, d'abord je dois être redirigé vers le /vérifiez la page mais qui n'est pas passe.
Si je modifie le script pour:
<script type="text/javascript" src="/storage/scripts/sessvars.js"></script>
<script type="text/javascript">
onload=function(){
sessvars.browserConfirmation?'none':'';
sessvars.ageConfirmation?'none':'';
};
var mod = Squarespace.Constants.CURRENT_MODULE_ID;
if (mod != "5827289") {
if(sessvars.ageConfirmation != "yes"){
window.location = "/verify/";
};
};
</script>
puis il fonctionne très bien(?)
Comment en êtes-vous avec le mod numéros? Je suis allé à travers les pages de votre site, et aucun des pages ont une CURRENT_MODULE_ID qui correspond au mod numéros vous sont tests pour. Sauf l'url de la page.
C'est en fait Squarespace.Les constantes.CURRENT_MODULE_ID; ... ils devraient tous avoir dans la forme finale de la #modulePage1234567 comme il arrive dans la source.
J'ai fait quelque chose de semblable auparavant et il a bien fonctionné: var mod = Squarespace.Les constantes.CURRENT_MODULE_ID; var imgColor = "Rouge"; // par défaut si (mod == "2875590" || mod == "2875610" || mod == "2875616") { imgColor = "Vert"; }
OriginalL'auteur VUELA | 2010-02-05
Vous devez vous connecter pour publier un commentaire.
Essayez ceci:
Si cela ne fonctionne pas, il suffit de laisser le code pour un peu, afin que nous puissions le corriger directement sur votre site web
Les documents HTML ne reconnaissent pas la CDATA marqueurs, si vous avez besoin de les avoir commenté pour l'analyseur HTML pour fonctionner correctement. Pour le code CSS, vous auriez fait /*<![CDATA[/ /]]>*/
- merci beaucoup pour l'astuce! je pensais que j'allais noix!!
J'ai été il y beaucoup de temps avant. Heureux que je pourrais aider.
J'ai essayer avec <![CDATA[ .... ]]> il ne travaillait pas, mais quand j'ajoute //<![CDATA[ .... // ]]> alors qu'il fonctionnait bien
OriginalL'auteur Waleed Al-Balooshi
Envelopper votre script dans une section CDATA.
OriginalL'auteur Lachlan Roche
J'ai essayé exactement le même code que le vôtre et il fonctionne très bien:
Il n' 'doSomething'. Lorsque la valeur est modifiée à 5195103, rien ne se passe de ce qui est correct
L'éditeur de côté, ce qui est l'erreur de script lorsque vous le lancez, et quel est le navigateur que vous avez utilisé? Je soupçonne qu'il pourrait être une erreur ailleurs, ou peut-être liée à
CURRENT_MODULE_ID
?OriginalL'auteur o.k.w
Êtes-vous l'incorporation de ce javascript dans un document xml?
Il semble que le document xml n'est pas bien formé, peut-être parce que le & doivent être échappés comme &
Le javascript par lui-même semble bien trop m'
Essayer:
Vous verrez que façon, que l'javasciprt doit être échappé
Modifier en réponse au commentaire:
Essayez ce qui suit:
C'est probablement la validation du texte en xhtml valide dans ce cas. Vous pourriez avoir besoin d'inclure les balises script et nécessaire de s'échapper pour le javascript. J'ai mis mon correctif proposé comme une modification à cette réponse
J'ai essayé d'échanger avec des && -- et le message d'erreur est allé loin mais la fonction ne fonctionne toujours pas. J'ai aussi remarqué que lorsque je retourne dans la fenêtre de l'éditeur il revient à &&.
j'ai enveloppé dans la CDATA et il semble fonctionner mieux, parce que maintenant c'est l'enregistrement sans erreur, et je peux aussi voir le javacript dans le source de la page .... cependant il n'est toujours pas à faire ce que je veux faire, il y à de la bouillie être un autre problème quelque part. Il fonctionne très bien lorsque je n'ai qu'un élément de la liste dans mon énoncé: si (mod != "5827289"), le problème vient quand j'essaie de liste plus d'un.
N'oubliez pas d'ajouter en commentaire la CDATA parties comme ceci: // <![CDATA[ javascript code ici // ]]>
OriginalL'auteur Martin Booth
Il semble que votre éditeur de juste pense que vous travaillez avec un document XML. Avez-vous essayé en fait de l'exécution de cette dans un navigateur? Si oui, le navigateur aussi donner une erreur?
En fait, oui, ça ressemble à de la CMS éditeur ne m'autorise pas à le sauvegarder.
OriginalL'auteur Rex M
Êtes-vous en train de comparer les ID comme une chaîne de caractères ou de valeur? Avez-vous l'essayer sans les guillemets?
ou une autre méthode est d'utiliser la correspondance
OriginalL'auteur Mottie
J'ai eu cette erreur à l'intérieur d'une section de script dans un fichier XSL.
J'ai adapté la réponse ci-dessus à l'intérieur de mon script et il a travaillé.
Note de la section CDATA dans le segment de code ci-dessous
OriginalL'auteur D. Kermott