سؤال

أواجه صعوبة في كتابة ما يبدو أنه يجب أن يكون بسيطة إذا كان البيان! أحتاج إليها أن أقول ما إذا كانت وزارة الدفاع لا تساوي، ب، أو ج - ثم القيام بذلك. هنا ما كنت أحاول ولكنه لم ينجح:

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

عندما أرتب هذا في محرر الخاص بي، يقول إن هناك خطأ، على وجه التحديد أن "اسم الكيان يجب أن يتبع على الفور" & "في مرجع الكيان". .. ولا يعمل عندما أذهب إلى الاختبار.

أي مساعدة موضع تقدير !!


تحديث: عنوان URL: esber.squarespace.com

البرنامج النصي الكامل:

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

أريد أن يتم إعادة توجيه كل صفحة في الموقع تلقائيا في تحميل الصفحة إلى صفحة التحقق، ما لم تكن صفحة التحقق (/ التحقق)، "لم يتم التحقق منها" (/ غير التحقق)، أو صفحة تسجيل الدخول (/ تسجيل الدخول) - ما لم يتم التحقق من المستخدم بالفعل عن طريق تعيين Sessvars، فيمكنه الاستمرار في الصفحة الرئيسية.

لاختبار هذا أذهب إلى esber.squarespace.com وانقر فوق عنصر القائمة في اليمين (ستكون هذه القائمة مخفية في النهاية عندما انتهيت من الصفحة) - عندما أحاول الذهاب إلى صفحة أخرى دون تصويري يجب إعادة توجيه العمر أولا مرة أخرى إلى الصفحة / التحقق منها ولكن ذلك لا يحدث.

إذا قمت بمراجعة البرنامج النصي إلى:

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

ثم يعمل بشكل جيد (؟)

هل كانت مفيدة؟

المحلول

جرب هذا:

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

// ]]>

إذا لم ينجح ذلك، فما عليك سوى مغادرة الرمز هناك قليلا، حتى نتمكن من تصحيحه مباشرة على موقع الويب الخاص بك

نصائح أخرى

لف البرنامج النصي الخاص بك في قسم CDATA.

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

// script here

]]>
</script>

حاولت نفس الكود بالضبط كما هو الذي يعمل بشكل جيد:

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

فعلت "dosomething". عندما يتم تغيير القيمة إلى 5195103، لا يحدث شيء صحيح

المحرر جانبا، ما هو الخطأ النصي عند تشغيله وما هو المتصفح الذي استخدمته؟ أظن أنه قد يكون خطأ في مكان آخر أو ربما مرتبطا CURRENT_MODULE_ID ?

هل تقوم بتضمين هذه الجافا سكريبت في مستند XML؟

يبدو وكأنه مستند XML غير متماثل جيدا، ربما لأن وينبغي هربها باسم &

جافا سكريبت بحد ذاتها تبدو جيدة جدا

يحاول:

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

ستجد بهذه الطريقة ما إذا كان يجب هرب JavaCkiprt

تحرير استجابة للتعليق:

حاول القيام بما يلي:

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

يبدو أنه يبدو وكأنه محرر الخاص بك يعتقد أنك تعمل مع مستند XML. هل حاولت فعلا تشغيل هذا في متصفح؟ إذا كان الأمر كذلك، هل يعطي المتصفح خطأ أيضا؟

هل تحاول مقارنة المعرف كسلسلة أو قيمة؟ هل جربتها دون اقتباسات؟

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

أو طريقة أخرى ستكون لاستخدام المباراة

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

حصلت على هذا الخطأ ضمن قسم البرنامج النصي في ملف XSL.

الكيان '&' غير محدد

لقد قمت بتكييف الإجابة أعلاه داخل البرنامج النصي وعملت.

ملاحظة قسم CDATA في مقطع التعليمات البرمجية أدناه

<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>
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top