Frage

Ich habe eine harte Zeit mit dem Schreiben, was sollte eine einfache, wenn Aussage scheint! Ich muss es sagen, wenn mod nicht a, b oder c nicht gleich - dann dies tun. Hier ist, was ich versuchte, aber unterlegen sind:

var mod = CURRENT_MODULE_ID;
if (mod != "5827289" && mod != "5195103" && mod != "5181422") {
   doSomething();
}

Als ich dies in meine Editor eingeben sagt es ein Fehler ist, und zwar, dass „Der Entitätsname der‚&‘in der Entity-Referenz unmittelbar folgen müssen.“ .. und funktioniert nicht, wenn ich auf Test gehen.

Jede Hilfe ist willkommen !!


UPDATE: Die url: esber.squarespace.com

Das vollständige Skript:

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

Ich möchte jede Seite der Website automatisch auf die überprüfen, Seite auf Seite Last umgeleitet, es sei denn, es wird die Seite (/ verify) überprüfen ist, die „Sie sind nicht überprüft“ Seite (/ nicht-überprüft), oder den Login Seite (/ login) -. es sei denn, der Benutzer bereits durch die Einstellung der sessvars prüft, dann können sie auf der Homepage weiter auf

das ich esber.squarespace.com und klicken Sie auf einen gehen Um zu testen, die Menüpunkte auf der rechten Seite (in diesem Menü schließlich ausgeblendet werden würde, wenn ich mit der Seite fertig bin) - wenn ich versuche, auf eine andere Seite zu gehen ohne veriying mein Alter zuerst sollte ich wieder auf die umgeleitet werden / verify Seite, aber das ist nicht passiert.

Wenn ich revidieren das Skript:

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

dann es funktioniert gut (?)

War es hilfreich?

Lösung

Versuchen Sie folgendes:

// <![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/";
   };
};

// ]]>

Wenn das nicht funktioniert, lassen Sie einfach den Code dort für ein wenig, so dass sie es direkt auf Ihrer Website debuggen können

Andere Tipps

Wickeln Sie Ihren Skript in einem CDATA-Abschnitt.

<script type="text/javascript">
<![CDATA[

// script here

]]>
</script>

Ich habe versucht, die genau die gleichen Code wie bei Ihnen und es funktioniert gut:

function doSomething() {alert("doing");}
var CURRENT_MODULE_ID = 5195103000;
var mod = CURRENT_MODULE_ID;
if (mod != "5827289" && mod != "5195103" && mod != "5181422") {
   doSomething();
}

Es hat 'doSomething'. Wenn der Wert auf 5195103 geändert wird, geschieht nichts, was richtig ist

Der Editor zur Seite, was ist der Skriptfehler, wenn Sie es ausführen und was der Browser Sie verwendet? Ich vermute, es könnte ein Fehler sein, an anderer Stelle oder vielleicht CURRENT_MODULE_ID zu tun?

Sind Sie das Javascript in einem XML-Dokument einbetten?

Es klingt wie das XML-Dokument nicht gut ausgebildet ist, vielleicht, weil die & sollte als &

entwertet werden

Die Javascript selbst sieht gut zu mir

Versuchen:

var mod = CURRENT_MODULE_ID;
if (mod != "5827289" &amp;&amp; mod != "5195103" &amp;&amp; mod != "5181422") {
   doSomething();
}

Sie werden auf diese Weise herausfinden, ob die javasciprt zu entkommen muss

In Antwort auf Kommentar:

Versuchen Sie Folgendes:

<script type="text/javascript">
<![CDATA[
var mod = CURRENT_MODULE_ID;
if (mod != "5827289" && mod != "5195103" && mod != "5181422") {
   doSomething();
}
]]>
</script>

Es klingt wie nur Editor denkt, dass Sie arbeiten mit einem XML-Dokument. Haben Sie versucht, läuft das eigentlich in einem Browser? Wenn ja, ist auch der Browser einen Fehler geben?

Sind Sie versuchen, die ID als String oder Wert zu vergleichen? Haben Sie versucht, es ohne Anführungszeichen?

var mod = CURRENT_MODULE_ID;
if (mod != 5827289 && mod != 5195103 && mod != 5181422) {
   doSomething();
}

oder eine andere Methode wäre Übereinstimmung zu verwenden

var mod = CURRENT_MODULE_ID;
if (!mod.match("5827289|5195103|5181422")) {
   doSomething();
}

habe ich diesen Fehler in einem Skript Abschnitt in einer XSL-Datei.

  

Entity '&' nicht definiert

I geeignet ist, die oben genannte Antwort in meinem Skript und es hat funktioniert.

Beachten Sie den CDATA-Abschnitt in dem Codesegment unterhalb

<script>
  var  Quantity860=<xsl:value-of select="$QuantityOrdered_860" />;
  var  Quantity850=<xsl:value-of select="$QuantityOrdered_850" />;
  var  QuantityToReceive860=<xsl:value-of select="$QuantityLeftToReceive_860" />;

  if(parseFloat(Quantity860.textContent) !== parseFloat(Quantity850.textContent) <![CDATA[ && ]]> parseFloat(QuantityToReceive860.textContent) !== parseFloat(Quantity850.textContent))
  {
      Quantity860.style.color="#FF6347";
      Quantity850.style.color="#FF6347";
      QuantityToReceive860.style.color="#FF6347";
  }
</script>
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top