‫مرحبًا بعودتك.
‫في هذا الفيديو ، سنلقي نظرة على المهام وتحديدًا عند العمل مع DWP.
‫لذلك ، دعونا ننشئ مشروعًا جديدًا ودعنا نستخدم WP F هنا وسأطلق عليه مهام WP F و EE في
‫حالتي.
‫ثم دعنا نضغط على OC لإنشاء هذا المشروع وفي واجهة المستخدم الخاصة بي الآن دعنا نضيف زرًا وسأفعل ذلك من خلال مربع
‫الأدوات.
‫لذلك سأقوم فقط بتحديد زر وسحبه إلى واجهة المستخدم الخاصة بي.
‫لذا ها نحن ذا.
‫سأجعله أكبر قليلاً ودعونا نغير حجم الخط إلى 32 ، ربما شيء من هذا القبيل.
‫الآن أصبحت القراءة أسهل قليلاً وسأطلق عليها اسمًا.
‫الاسم يساوي الزر الخاص بي لأنني أريد استخدامه لاحقًا في الكود الخاص بي.
‫حسنا.
‫إذن هذه هي واجهة المستخدم.
‫في الوقت الحالي ، سنضيف متصفح ويب صغيرًا لاحقًا ، ولكن في الوقت الحالي ، سيكون الزر على
‫ما يرام.
‫وفي نافذتي الرئيسية ، أريد استخدام هذا الزر ، لكنني بحاجة إلى حدث نقرة ، لذلك.
‫لذلك عندما ينقر شخص ما على هذا الزر ، أريد تنزيل شيء ما من الويب ،
‫وبمجرد الانتهاء من التنزيل ، أريد تعيين HTML لنص الزر أو لمحتوى الزر ، وبالتالي أحتاج إلى حدث
‫نقرة.
‫لذلك سأقوم بالنقر المزدوج على الزر وسينشئ حدثًا جديدًا انقر فوق الزر هنا.
‫لذلك سيتم تشغيل هذه الطريقة كلما نقرنا على الزر.
‫وأسهل طريقة لمعرفة ما إذا كان هذا صحيحًا هو مجرد استخدام مربع الرسائل وقول شيئًا مثل مرحبًا أو
‫نجح أو شيء من هذا القبيل.
‫لنقم الآن بتشغيله فقط لنرى ما إذا كانت الكود الخاص بنا يعمل بالفعل.
‫لأنه قبل أن نفعل أي شيء آخر ، دعنا نرى فقط ما إذا كان Button يعمل ويظهر مرحبًا.
‫حسنًا ، هذا جيد.
‫الآن ، كما ترى ، النص نفسه ليس كبيرًا مثل نص الزر.
‫هذا ليس جميل.
‫لكن هذا ليس ما يدور حوله هذا الفيديو.
‫حق؟
‫يتعلق الأمر بالمهام وتنزيل شيء ما في الخلفية بينما لا تتعطل واجهة المستخدم.
‫حسنًا ، لنجد طريقة لجعلها عالقة.
‫لذلك دعونا نمضي قدمًا ونجرب شيئًا مثل التنزيل.
‫ولتنزيل شيء ما ، سأستخدم عميل HTTP وسأتصل بعميل ويب.
‫الآن ، عميل HTTP هو فئة يتعين علينا إضافة نظام dot net و dot و http.
‫هذا ما نحتاجه هنا.
‫إذن ، عميل الويب هذا الآن ، سيكون عميل HTTP جديدًا ، والآن أريد الحصول على سلسلة
‫ستكون HTML ، والتي ستكون عميل ويب ستحصل على سلسلة غير متزامنة وأي سلسلة يجب أن تتحسن ، يجب
‫أن تحصل على https .
‫مائل إلى الأمام مائل إلى الأمام مائل إلى الأمام من Google dot com.
‫وأريد الحصول على نتيجة ذلك.
‫لذا قم بتنزيل موقع الويب وأعطيني النتيجة وقم بتخزينها داخل HTML.
‫هذا ما سيفعله هذا الشيء.
‫الصحيح.
‫وما سأراه هو الخيط الذي أعمل عليه.
‫لذلك أريد أن أرى الموضوع الذي أعمل عليه.
‫سيكون السطر الأيمن رقم الموضوع ونقطة الخيط.
‫ومن أجل استخدام الخيط ، نحتاج إلى ذلك.
‫استخدم خيوط النظام ومن أجل استخدام التصحيح ، نحتاج إلى استخدام تشخيصات النظام.
‫لذلك دعونا نفعل هذين الأمرين والآن يمكننا المضي قدمًا والحصول على سلسلة المحادثات الحالية ومعرف مؤشر الترابط المُدار.
‫لذلك أريد فقط معرفة المعرف الذي يحتوي عليه مؤشر الترابط والذي أعمل عليه حاليًا؟
‫لذلك عندما أنقر على الزر ، ستتم طباعة هذا التصحيح وسيتم تنزيل شيء ما.
‫لنفترض الآن أنني أريد تغيير محتوى الزر حتى يحصل الزر الخاص بي على المحتوى إلى شيء مثل تم.
‫لذلك دعونا نختبر ذلك.
‫ها نحن ذا.
‫بمجرد النقر فوق الزر ، يمكنك أن ترى أنه تم الآن ، وقم بتنزيله وانتهى الأمر.
‫وهذا يحدث لأن هذا هنا.
‫لذلك تحميل جوجل. com يعمل في الواقع بسرعة كبيرة وهذا هو السبب في أنه من الممكن إجراء المحتوى
‫على قدم المساواة.
‫لكن عادةً لا يكون ذلك ممكنًا أو في معظم الحالات لن يكون ممكنًا لأن هذه المهمة هنا تستغرق
‫عادةً بعض الوقت.
‫ولدينا سلسلة رسائل هنا ثقيلة جدًا لأن تنزيل الأشياء عادةً ما يستغرق بعض الوقت ، باستثناء أنه قليل جدًا جدًا ما
‫نقوم بتنزيله بالفعل في هذه الحالة ، فنحن نقوم فقط بتنزيل موقع Google
‫dot com على الويب وهو أمر شديد الأهمية ، قصير جدا.
‫إنها مجرد بضعة كيلوبايت.
‫لذا بدلاً من ذلك ، لن أقوم بتنزيل ملف بحجم خمسة ميغا بايت.
‫لذلك فإن الأمر يستغرق وقتًا أطول قليلاً حتى يتم كل ذلك.
‫لذلك دعونا نتحقق من ذلك مرة أخرى.
‫سأضغط على الزر والآن ترى أنه يتجمد.
‫وفقط بمجرد الانتهاء من ذلك ، تغير إلى القيام به.
‫لذلك ربما يكون ملف 25 ميغا بايت صغير جدًا.
‫لنقم بعمل ملف بحجم 200 ميغا بايت.
‫اسمحوا لي أن أتحقق مما إذا كان هناك واحد على الموقع وهناك واحد.
‫حسنًا ، لنحاول مرة أخرى.
‫الآن ، سيكون الملف أكبر بكثير وسيستغرق وقتًا طويلاً لإنجازه.
‫لذلك أنا أضغط على الزر وكما ترى الآن ، إنه يتجمد ، إنه مجمد ولا يحتوي
‫على أي شيء حتى ينتهي التنزيل.
‫وهذا لأننا في الثالث.
‫لذلك يتم تجميد الشاشة بالكامل حتى يتم ذلك التنزيل وهذا شيء خطير للغاية.
‫يجب أن لا تفعل ذلك.
‫يجب أن تكون دائمًا حذرًا عند القيام بأشياء ثقيلة على الخيط الرئيسي أو على مؤشر ترابط واجهة المستخدم
‫لأن الخيط الرئيسي أو مؤشر ترابط واجهة المستخدم مشغول حقًا بتحديث واجهة المستخدم.
‫لذلك فهو يقوم بجميع عناصر واجهة المستخدم ، والآن تم تجميد ملفي أو برنامجي.
‫علم.
‫لذا سأستخدم ملفًا بحجم 200 ميغا بايت.
‫ربما يكون هذا خيارًا أفضل وسيتم تحقيقه وسنظل نرى الفرق.
‫الصحيح.
‫لذا فقد استخدمت هنا رابطًا حيث يمكنك ببساطة تشغيل أو تنزيل ملفات عشوائية.
‫لذلك دعونا نضغط عليه مرة أخرى.
‫كما ترى الآن ، تم تجميده وسيستغرق الأمر بعض الوقت حتى ينتهي.
‫وها أنت ذا.
‫تم التنفيذ.
‫لذا قم بتنزيل الملف وانتهى الأمر.
‫تمام.
‫وما تراه أيضًا هو أننا نعمل على الموضوع رقم واحد.
‫إذن هذا هو الخيط الرئيسي ، أليس كذلك؟
‫ونعمل على الخيط الرئيسي ونحاول تنزيل شيء ما ونحاول تحديث واجهة المستخدم
‫بشكل جيد ، ولهذا السبب يستغرق الأمر بعض الوقت هنا.
‫الآن يمكنك القول ، حسنًا ، لنقم بإنشاء مهمة للقيام بذلك.
‫لذلك دعونا ننشئ مهمة يتم تشغيلها وسنقوم بتشغيل بعض التعليمات البرمجية هنا.
‫لذا سأقوم بنسخ هذا الرمز هناك هكذا.
‫والآن دعونا نصحح ذلك.
‫لذلك دعونا نضيف نقطة تصحيح صغيرة هنا.
‫لذلك دعونا نمضي قدمًا ونصحح هذا الأمر فقط لمعرفة الخيوط المتضمنة بالفعل.
‫لذا سأضغط على الزر ثم نكون داخل هذا الخيط.
‫وها نحن ذا.
‫لذلك لدينا العديد من خيوط العاملين.
‫لدينا الخيط الرئيسي ، وهو الخيط الأول ، وقد رأينا ذلك سابقًا عندما قمنا بتنفيذ شيء ما.
‫إذن لدينا الخيط الرئيسي ثم نقوم بتشغيل مهمتنا التي تحتوي على مؤشر ترابط أيضًا ونحن في الخيط الخامس.
‫لذلك يمكنك أن ترى أن الخيط الخامس هو خيط عامل وهذا هو الذي لدينا هنا.
‫لننتقل إلى الخطوة التالية.
‫ما زلنا في التنفيذ أو ما زلنا في الخيط الخامس.
‫ثم دعونا نفعل ذلك مرة أخرى.
‫لا يزال موضوع خمسة.
‫والآن نحاول القيام بشيء ما.
‫لذلك نحن نحاول تحديث الزر الخاص بي.
‫فعله.
‫ودعنا ننتقل إلى الخطوة التالية مرة أخرى.
‫وكما ترى ، يتجمد تطبيقي.
‫إنه يقيم التعبير ، الزر الخاص بي.
‫لذلك نحن ننتظر مرة أخرى.
‫سعيد جدا لذلك
‫وكما ترون ، سيدتي ، نحن في عملية الاستثناء.
‫لا يمكن لمؤشر الترابط الاستدعاء الوصول إلى الكائن لأنه يمتلكه مؤشر ترابط مختلف.
‫ماذا يعني ذلك؟
‫حسنًا ، هذا يعني أن الزر الخاص بي مملوك بواسطة مؤشر ترابط مختلف.
‫وبأي خيط.
‫حسنًا ، إنه مملوك بواسطة مؤشر ترابط واجهة المستخدم ، وهو موضوعنا الرئيسي.
‫لذا فإن الخيط الرئيسي مسؤول عن الاهتمام بجميع عناصر واجهة المستخدم حتى لا تتجمد.
‫من المهم أن تستجيب واجهة المستخدم دائمًا ، وفي هذه الحالة لم تعد تستجيب لأننا نحاول الوصول
‫إلى هذا السطر من التعليمات البرمجية على الرغم من أنه ليس في السلسلة الصحيحة.
‫لذلك نحن في الخيط الخامس ونحاول الوصول إلى شيء ينتمي إلى الخيط الأول وهذا شيء
‫غير صالح.
‫لذلك حصلنا على استثناء العملية غير الصالحة هنا ونحتاج إلى إيجاد حل مختلف لإدارة ذلك.
‫وهو بشكل عام مفهوم الخيوط المختلفة.
‫لذلك بشكل عام عليك توخي الحذر عند العمل مع خيوط مختلفة وكائنات مختلفة.
‫إذا كانت الكائنات مملوكة لمؤشرات ترابط أخرى ، فلا يمكنك تغييرها أو تعديلها.
‫لذلك هذا شيء يجب أن تكون على دراية به.
‫فكيف يمكننا فعل ذلك؟
‫حسنًا ، بشكل عام ، دعنا نوقف التطبيق أولاً ودعنا نذهب إلى الزر.
‫لذلك ، أقوم بإنشاء زر هنا وأريد التحقق من الزر.
‫لذا فأنا أضغط على زر التحكم أو أمسك بزمام السيطرة وأضغط على الزر.
‫لذلك يرث الزر من قاعدة الزر ، وهو عنصر تحكم في المحتوى يرث من عنصر التحكم ، من عنصر إطار
‫العمل من عنصر واجهة المستخدم.
‫وهو كائن مرئي ، وهو كائن تبعية ، كائن المرسل ونحن كذلك ، فهو
‫كائن مرسل.
‫وهنا يتحقق فقط من الوصول ويتحقق من المحور X.
‫إذن هذا كائن مرسل ونحن نستخدم مرسل هنا والمرسل لديه الكثير من المتغيرات والأحداث
‫وما إلى ذلك.
‫لماذا أريكم ذلك؟
‫حسنًا ، هذا لأننا سنستخدم المرسل لإدارة موضوعنا الخاص بالزر الخاص بي.
‫إذن ماذا علي أن أفعل هنا.
‫حسنًا ، أحتاج إلى أن يقوم الزر الخاص بي بوضع نقطة على المرسل حتى يحصل على جهاز إرسال مؤشر ترابط Windows الذي يرتبط به
‫كائن المرسل النقطي لنقاط ترابط نظام windows.
‫حتى الآن نكتشف الخيط الذي ينتمي إلى زرنا أو في الواقع إلى أي مؤشر ترابط ينتمي زرنا.
‫لذلك دعونا نتحقق من المرسل وهنا أطلب تنفيذ الإجراء المحدد بشكل غير متزامن على مؤشر الترابط
‫الذي يرتبط به مرسل مؤشر الترابط الخاص بنظام windows.
‫هذا هو بالضبط ما كنت أتحدث عنه ، ما نحتاج إلى القيام به.
‫لذلك دعنا نمضي قدمًا ونفعل ذلك ودعنا ننفذ الكود هنا الآن.
‫لذلك سأغلقه في الأسفل هناك.
‫والآن يمكنك أن ترى الآن أنه يمكنني المضي قدمًا وأقول ، حسنًا ، محتوى الزر الخاص بي يشير فقط
‫إلى أنه تم ، وسأستخدم تصحيح الأخطاء مرة أخرى لأرى في أي سلسلة محادثات أنا في هذه المرحلة.
‫لذلك دعونا نشغل الكود مرة أخرى.
‫الآن دعنا نضغط على الزر.
‫وكما ترى ، نحن هنا الآن.
‫والآن نحتاج إلى تقييم الحمل مرة أخرى حتى نكون في الخيط الخامس.
‫الآن هذا هو المكان الذي نقوم فيه بتصحيح الأخطاء.
‫ثم ننتقل إلى الموضوع التالي أو السطر التالي.
‫السطر التالي ثم واجهة المستخدم عادت إلى المسار الصحيح.
‫أين؟
‫هنا.
‫والآن يمكننا الانتقال إلى الخطوة التالية.
‫لذلك نحن في المرسل وهنا في الواقع يقفز فوق ما أردت أن أريكم إياه.
‫لذلك دعونا نتحقق من ذلك.
‫انتقل إلى windows ودعنا نرى وحدة التحكم في التصحيح ، وهي الإخراج بحيث تكون تقول رقم الموضوع
‫خمسة ثم قال الخيط رقم واحد.
‫إذن هذا هو الخيط رقم واحد وهذا هو الخيط رقم خمسة.
‫إذن مالك الزر ، كما ترى ، هو الخيط رقم واحد.
‫ولتوضيح ذلك قليلاً ، يمكننا إضافة ذلك إلى السطر هنا.
‫رقم الخيط الأول أو رقم الخيط ، فلان وفلان يمتلك زري ، لذا سنكون أكثر وضوحًا الآن.
‫لنقم بتشغيله مرة أخرى ومن ثم يجب أن يظهر بشكل صحيح.
‫هذا هو الإخراج ولا يوجد شيء مثير للاهتمام حتى الآن.
‫نضغط على الزر وسترى أن الموضوع رقم خمسة قد تم تنفيذه ثم يبدأ التنزيل.
‫وبمجرد الانتهاء من ذلك ، تقول هنا ، الخيط رقم واحد يمتلك زري.
‫لذلك دعونا نضغط مرة أخرى.
‫والآن ، كما ترى ، لا يزال الزر يعمل ولا يزال قيد التحديث.
‫لذلك هذا جيد.
‫وهذه طريقة واحدة للقيام بذلك.
‫ومع ذلك ، هناك طريقة أخرى ، وسأريكم طريقة أخرى ، وهو الحل المفضل.
‫لذلك سأقوم بنسخ هذا ، انقر فوق الزر الخاص بي.
‫سأسميها انقر فوق الزر الخاص بي فقط حتى لا تتداخل.
‫والآن سأقول في أي موضوع أنا بالخارج.
‫حتى هنا أي موضوع؟
‫اريد النقر فوق الزر.
‫حسنًا ، يجب أن أكون باللون الأحمر بعد ذلك.
‫سأستخدم تشغيل مهمة انتظار وهذه المهمة يجب أن تكون مهمة غير متزامنة.
‫لذلك نحن بحاجة إلى إضافة كلمة رئيسية غير متزامنة هنا.
‫الآن لا يزال Visual Studio غير سعيد للغاية ، لذلك أحتاج إلى جعل هذه الطريقة غير متزامنة.
‫لذلك فإن النقر على الزر الخاص بي الآن سيكون طريقة زر غير متزامنة تنتظر مهمة محددة للتشغيل بشكل
‫غير متزامن.
‫وما أفعله هنا هو ببساطة تنزيل هذا الملف مرة أخرى ، وبدلاً من استخدام المرسل
‫، ما يمكنني فعله الآن هو أنه يمكنني بالفعل تحديث الزر الخاص بي خارج هذه المهمة.
‫لذلك سأفعل ذلك في الخارج هنا.
‫سأقول محتوى الزر الخاص بي وسيقول شيئًا مثل تم التنزيل.
‫هذا هو.
‫لذا بدلاً من القيام بذلك مع المرسل ، والذي كان حلًا بسيطًا ، أجعله غير متزامن ، لذا الآن يجب أن
‫يعمل بشكل جيد أيضًا.
‫الآن ، لاختبار ذلك ، سأقوم بتغيير الطريقة هنا للنقر فوق الطريقة للنقر فوق الزر.
‫وإلا فلن يتم تنفيذ هذه الطريقة أبدًا.
‫لذلك دعونا نفعل ذلك.
‫وربما دعونا نضيف أيضًا إلى أي موضوع نحن.
‫حتى رقم الموضوع كذا وكذا قبل انتظار المهمة.
‫وبعد ذلك يكون هذا بعد مهمة انتظار وهذا الشخص سيكون أثناء مهمة الوزن.
‫فلنبدأ الآن في تشغيله مرة أخرى.
‫دعنا نضغط على زرنا.
‫وهنا ترى ما قبل المهمة.
‫كان ذلك رقم واحد.
‫ثم خلال مهمة الوزن التي كانت رقم الموضوع الثاني.
‫وبعد مهمة الوزن ، احتلت المرتبة الأولى مرة أخرى وانتهينا من التنزيل.
‫إذن هذا نهج مختلف.
‫هذا يعمل بشكل جيد أيضًا وهذه طريقة أفضل.
‫لذلك ليس عليك أن تسلك طريق التحقق من الموضوع الذي أستخدمه؟
‫لكنك تنشئ سلسلة مختلفة حيث تقوم بهذه الأشياء ، ولكنك تجعلها ثقلاً أيضًا.
‫لذلك أنت تجعله غير متزامن.
‫الآن ، الشيء الصغير الذي أريد أن أعرضه عليكم أيضًا هو متصفح الويب.
‫إذن ما سأفعله هنا هو أنني سأقوم بتصغير حجم الزر.
‫سأضعه هنا في الزاوية اليسرى العليا ، وسأستخدم متصفح الويب.
‫سأقوم بسحبه إلى هناك وجعله أكبر قليلاً.
‫الآن سيكون لدينا متصفح الويب هذا فقط ويجب أن يوضح لنا الجانب الذي نحن فيه.
‫إذن ما سيحدث هو عندما أضغط على الزر ، سأقوم بتنزيل موقع ويب محدد
‫سأحدده يدويًا.
‫إذن هذا مجرد مثال صغير لإضافة ما رأيناه حتى الآن.
‫لن أخوض في متصفح الويب الكامل.
‫لن أريكم كيفية القيام بذلك.
‫يمكنك المضي قدما ومحاولة نفسك.
‫سأوضح لك فقط كيف يمكنك الآن استخدام HTML الذي قمت بتنزيله من هذا
‫الرابط المحدد ، والذي تم ترميزه بشكل ثابت.
‫وببساطة استخدم ذلك أو اعرضه في متصفح الويب.
‫لذلك https google. كوم.
‫إذن ما سيحدث عندما أضغط على الزر google. سيتم تنزيل com.
‫الآن من أجل القيام بذلك ، أحتاج إلى طريقة محددة ولن أكتبها يدويًا ، سأقوم فقط بنسخها
‫ولصقها هنا.
‫لذلك سيتم استدعاء هذه الطريقة على تغيير HTML كلما تم تغيير خاصية التبعية.
‫إذن ما سأقوله هنا هو على HTML ، يحتاج التغيير إلى كائن تبعية وتغيير خاصية التبعية
‫إلى وسيطة الحدث التي تسمى E.
‫وهنا أقوم فقط بإنشاء متصفح ويب يأخذ كائن التبعية هذا ويستخدمه كمتصفح
‫ويب.
‫ثم إذا لم يكن متصفح الويب فارغًا ، فانتقل إلى سلسلة محددة ستكون قيمة جديدة كسلسلة.
‫مهما كانت وسيطات التبعية هذه ، فإن وسيطات حدث تغيير الخاصية هي المكان الذي أحصل
‫فيه على السلسلة.
‫هذا ما يجب عرضه على متصفح الويب إلى حد كبير.
‫لذلك كنت سأفعل ذلك بطريقة أسهل ، لكن المشكلة أنه ليس من السهل القيام بذلك.
‫لذلك لا توجد طرق أسهل أو العديد من الطرق السهلة للقيام بذلك.
‫هذا هو النهج الذي يجب أن تفعله هنا بشكل عام.
‫لذا فبدلاً من تحديث الزر بمجرد التنزيل ، أريد تحديث متصفح الويب وبالتالي يحتاج
‫متصفح الويب إلى اسم.
‫لذلك سأقوم بإعطاء اسم لمتصفح الويب وسأطلق عليه اسم متصفح الويب الخاص بي.
‫الآن ، متصفح الويب ، سأطلق عليه هنا أو في الواقع أقوم بتعديله هنا.
‫ما أريد فعله هو تعيين قيمة ذلك المتصفح وأريد تعيينه بشيء ما.
‫ولأنك ترى أننا بحاجة إلى خاصية التبعية وكائن يمثل قيمة.
‫فكيف أحصل على ذلك؟
‫من أين أحصل على ذلك؟
‫حسنًا ، هناك أشياء متعددة ومتعددة هنا.
‫إذن واحد منهم هو أننا نحتاج إلى خاصية تبعية ، لذلك دعونا ننشئ واحدة.
‫دعنا نضعها في الأعلى هنا.
‫ومرة أخرى ، سأقوم بنسخها ولصقها.
‫سأريكم كيف تبدو وماذا تفعل.
‫لذلك فهي خاصية تبعية للقراءة فقط تسمى خاصية HTML.
‫ونحن نسجله.
‫نقوم بتسجيله مع HTML.
‫كما ترى ، يحتاج إلى اسم ، واسم سلسلة ، و HTML ، ثم نوع الخاصية ، ونوع المالك ، وبيانات تعريف الخاصية.
‫هذا شيء تطرقنا إليه عند العمل مع خصائص التبعية في فصل WPF.
‫لقد قمت للتو بإنشائها باستخدام HTML ، والنوع هو عبارة عن سلسلة.
‫ما هو المالك؟
‫إنها النافذة الرئيسية.
‫إذاً فصلنا هنا وما نوع البيانات هذه أو أي بيانات أريد أن أعطيها له؟
‫وأعطيه بيانات وصفية تم تغييرها على HTML.
‫فماذا يعني ذلك؟
‫حسنًا ، كلما قمنا بتعيين خاصية HTML على HTML ، سيتم تغييرها.
‫وهذه هي الطريقة التي سنطلق عليها هنا.
‫الآن ما يمكننا القيام به هو أنه يمكننا ضبط قيمة المتصفح الخاص بي من خلال ما يلي.
‫يمكننا المضي قدمًا ونقول خاصية HTML وتعيينها باستخدام HTML.
‫من أجل استخدام HTML ، نحتاج إلى إجراء القليل من العمل هنا أو الحصول على القليل من الحل.
‫في الواقع ، سأطلق عليه اسم HTML الخاص بي بهذا الشكل وأحتاج إلى إنشاء متغير هنا.
‫سأكون مجرد سلسلة http l والتي ستقول بلاه ، مجرد سلسلة بها نص غبي هنا ، لا يوجد
‫شيء مميز.
‫ولكن بمجرد الانتهاء من التنزيل ، نحصل على النتيجة في سلسلة HTML الخاصة بنا.
‫لا يمكنني أن أقول HTML هنا فقط لأن هذه السلسلة تم إنشاؤها محليًا ولا يمكنني
‫إنشاؤها أو أنها ضمن نطاق مهمتنا هنا ولا يمكنني إنشائها في الخارج.
‫لهذا السبب أحتاج إلى هذا الحل الصغير.
‫لذا يمكنني الآن المضي قدمًا وأقول إن HTML الخاص بي هو HTML.
‫إذا هذا.
‫متغير هنا ، والذي يقع في نطاق متصفح الويب الخاص بي الذي حددناه هنا.
‫لهذا السبب يمكنني المضي قدمًا الآن ووضعه هنا.
‫لذلك ضمن نطاق مهمتنا المنتظرة.
‫الآن ، بالطبع ، نحتاج إلى إنهاء هذا السطر.
‫هذه هي الطريقة التي يمكنك من خلالها تعيين قيمة متصفح الويب.
‫حسنا.
‫إنه حل بسيط ، لكنه يعمل ، لذلك دعونا نختبره.
‫دعنا ننفذ الكود الخاص بنا.
‫هذا هو الضغط على الزر.
‫وها نحن ذا.
‫لذلك لدينا الكثير من الأخطاء في البرنامج النصي ، ولكن هذا لأننا لم نقول أي شيء آخر.
‫ولكن كما ترون هنا ، نحن في Google الآن ، لذا يمكننا الانتقال إلى الصور وخرائط Google وما إلى ذلك.
‫لقد أنشأنا الآن متصفحنا الصغير ، والذي يقودنا ببساطة إلى Google.
‫حسنًا ، رائع.
‫لذا كما قلت ، لن أتعمق في المتصفحات والأشياء ولم أرغب حتى في التعمق في هذه
‫الموضوعات.
‫لكن هذه هي الطريقة التي يجب عليك إعدادها.
‫هذا قليل ، آه ، نعم ، إعداد صغير ما عليك القيام به.
‫لذلك أنت بحاجة إلى هذه الطريقة ، يجب أن يكون لديك خاصية التبعية
‫هذه ، وبعد ذلك يمكنك المضي قدمًا وتعيين قيمة متصفحك بخاصية HTML ، وهي خاصية التبعية الخاصة بنا
‫وبعض كود HTML ، وهو كود HTML نحن تحميل من جوجل.
‫حسنا.
‫فقط بسرعة ، للتلخيص مرة أخرى ، ما هي فكرة استخدام خيوط مختلفة؟
‫حسنًا ، لديك السلسلة الرئيسية التي تتعامل مع واجهة المستخدم ، وإذا كنت تريد القيام
‫بشيء ثقيل ، فهذا يستغرق بعض الوقت ، على سبيل المثال ، التنزيل من الويب ، على سبيل المثال ، نسخ شيء
‫من ملف إلى آخر أو العمل مع محركات الأقراص الصلبة أو أيا كان.
‫هذا هو المكان المناسب حقًا للقيام بذلك في الخلفية.
‫لذلك تقوم بإنشاء مهمة مختلفة أو موضوع مختلف يتولى ذلك.
‫لذلك أنشأنا هنا مهمة غير متزامنة تقوم بذلك في الخلفية ، وبمجرد الانتهاء من ذلك ، يمكننا
‫المضي قدمًا في الباقي.
‫لذلك لن يؤدي ذلك إلى تجميد سلسلة المحادثات الرئيسية لدينا ، وستظل واجهة المستخدم الخاصة بنا تعمل بشكل صحيح ، وهذا
‫كل ما في الأمر.
‫حسنا.
‫لذلك نراكم في.