سؤال

مثال العمل مع Global Var:

var example_var = 'global var example';

var x = function(){
    var var_name = 'example_var';
    alert('Global var value is: ' + window[var_name]);
}

كيف يمكنني فعل نفس الشيء مع متغير محلي؟ مثل هذا (لا يعمل مثال):

var x = function(){
    var example_var = 'Local var example';
    var var_name = 'example_var';
    alert('Local var value is: ' + window[var_name]);
}
هل كانت مفيدة؟

المحلول

أنت لا تريد استخدامها eval; ؛ قد يكون الكائن المحدد محليًا هو الخيار الأفضل لك:

var x = function(){
    var self = {};
    self.example_var = 'Local var example';

    var var_name = 'example_var';

    alert('Local var value is: ' + self[var_name]);
}

نصائح أخرى

لقد قابلت أخيرا عميقا بما يكفي لحل مشكلتي.

هذا وفقا لمايكروسوفت حسب التصميم مع جزء ويب ينتج عن الناس، يمكنك استخدام جزء ويب النتيجة الأساسية بدلا من ذلك. giveacodicetagpre.

هناك حل هو الحل الذي هو أفضل:

انتقل إلى "إضافة تعيينات للخصائص الممتدة للزحف إلى الممتلكات المدارة" Contentshidden "(الإدارة المنتية -> إدارة التطبيقات -> إدارة تطبيقات الخدمة -> تطبيق خدمة البحث -> خصائص البيانات الوصفية).

والخريطة إلى تلك الخصائص الزحف.ثم قم بتشغيل الزحف الإضافي.يجب أن تعمل.

أضف عنوان URL لموقع SharePoint حيث يوجد ملف Excel بالمنطقة الموثوقة في Internet Explorer (خيارات الإنترنت).يجب القيام بذلك في محطة عمل المستخدم B.

تحقق من إعدادات الأمان الأخرى المشابهة مثل سياسات جدار الحماية، ومكافحة الفيروسات، إلخ.

في الوقت الحالي هناك حلان لهذه المشكلة.
1. eval () ، لكني لا أحب استخدام الشر () حقًا
2. يمكننا تغيير إعلان متغير من VAR إلى هذا:

var x = function(){
    this.example_var = 'this.var example';
    this.var_name = 'example_var';
    alert('Local variable value is: ' + this[var_name]);
}
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top