الفرق بين المراجعتين ل"Next.js/next script"

من موسوعة حسوب
اذهب إلى التنقل اذهب إلى البحث
(أنشأ الصفحة ب' = الواجهة البرمجية للمكون next/script في Next.js = <blockquote>'''ملاحظة''': هذه الصفحة لتوثيق الواجهة البرمجي...')
 
سطر 1: سطر 1:
 
+
<noinclude>{{DISPLAYTITLE:الواجهة البرمجية للمكون next/script في Next.js}}</noinclude>
= الواجهة البرمجية للمكون next/script في Next.js =
 
 
<blockquote>'''ملاحظة''': هذه الصفحة لتوثيق الواجهة البرمجية للمكوّن <code>script</code>، للاطلاع أكثر على الميزات ومعلومات الاستخدام عن السكربتات في Next.js راجع صفحة "[[Next.js/script|التعامل مع السكربتات في Next.js"]] من هذا التوثيق.</blockquote>
 
<blockquote>'''ملاحظة''': هذه الصفحة لتوثيق الواجهة البرمجية للمكوّن <code>script</code>، للاطلاع أكثر على الميزات ومعلومات الاستخدام عن السكربتات في Next.js راجع صفحة "[[Next.js/script|التعامل مع السكربتات في Next.js"]] من هذا التوثيق.</blockquote>
  
سطر 52: سطر 51:
  
 
=== التابع <code>onError</code> ===
 
=== التابع <code>onError</code> ===
وهو تابع يُنفَّذ إن فشل تحميل السكربت.<blockquote>'''ملاحظة''': لا يمكن استخدام  <code>onError</code> مع استراتيجة التحميل <code>beforeInteractive</code></blockquote>
+
وهو تابع يُنفَّذ إن فشل تحميل السكربت.<blockquote>'''ملاحظة''': لا يمكن استخدام  <code>onError</code> مع استراتيجة التحميل <code>beforeInteractive</code></blockquote>إليك مثالًا عن كيفية استخدام <code>onError</code>:<syntaxhighlight lang="javascript">
 
 
=== onError ===
 
A method that executes if the script fails to load.<blockquote>'''Note: <code>onError</code> can't be used with the <code>beforeInteractive</code> loading strategy.'''</blockquote>إليك مثالًا عن كيفية استخدام <code>onError</code>:<syntaxhighlight lang="javascript">
 
 
import Script from 'next/script'
 
import Script from 'next/script'
  
سطر 75: سطر 71:
 
== المصادر ==
 
== المصادر ==
  
* الصفحة Next/script من توثيق Next.js الرسمي.
+
* الصفحة [https://nextjs.org/docs/api-reference/next/script Next/script] من توثيق Next.js الرسمي.

مراجعة 11:11، 9 يوليو 2022

ملاحظة: هذه الصفحة لتوثيق الواجهة البرمجية للمكوّن script، للاطلاع أكثر على الميزات ومعلومات الاستخدام عن السكربتات في Next.js راجع صفحة "التعامل مع السكربتات في Next.js" من هذا التوثيق.

خاصيات اختيارية

الخاصية src

وهي مسار نصي يحدد عنوان URL للسكربت الخارجي. يمكن أن يكون العنوان مطلق أو داخلي.

الخاصية strategy

وتحدد استراتيجية تحميل السكربت:

الخاصية strategy الوصف
beforeInteractive حمِّل السكربت قبل أن تغدو الصفحة تفاعلية مع المستخدم.
afterInteractive حمِّل السكربت مباشرة بعد أن تغدو الصفحة تفاعلية.
lazyOnload حمّل السكربت خلال فترة توقف التصفح (فترة الراحة).
worker حمّل الصفحة في خيط عامل ويب web worker.

ملاحظة: الاستراتيجية هي استراتيجية تجريبية يمكن استخدامها فقط عندما تُفعَّل في الملف next.config.js. راجع صفحة "التعامل مع السكربتات في Next.js" من هذا التوثيق.

التابع onLoad

وهو تابع يعيد شيفرة JavaScript إضافية ينبغي تنفيذها بعد إنتهاء تحميل السكربت.

ملاحظة: لا يمكن استخدام onLoad مع استراتيجة التحميل beforeInteractive.

إليك مثالًا عن كيفية استخدام onLoad :

import { useState } from 'react'
import Script from 'next/script'

export default function Home() {
  const [stripe, setStripe] = useState(null)

  return (
    <>
      <Script
        id="stripe-js"
        src="https://js.stripe.com/v3/"
        onLoad={() => {
          setStripe({ stripe: window.Stripe('pk_test_12345') })
        }}
      />
    </>
  )
}

التابع onError

وهو تابع يُنفَّذ إن فشل تحميل السكربت.

ملاحظة: لا يمكن استخدام onError مع استراتيجة التحميل beforeInteractive

إليك مثالًا عن كيفية استخدام onError:

import Script from 'next/script'

export default function Home() {
  return (
    <>
      <Script
        id="will-fail"
        src="https://example.com/non-existant-script.js"
        onError={(e) => {
          console.error('Script failed to load', e)
        }}
      />
    </>
  )
}

المصادر

  • الصفحة Next/script من توثيق Next.js الرسمي.