الوصف
يمكنك استخدام واجهة برمجة التطبيقات chrome.history
للتفاعل مع سجلّ الصفحات التي تمت زيارتها في المتصفّح. يمكنك إضافة عناوين URL وإزالتها وطلب البحث عنها في سجلّ المتصفّح. لاستبدال صفحة السجلّ بنسخة خاصة بك، يمكنك الاطّلاع على إلغاء الصفحات.
الأذونات
history
البيان
يجب تعريف "السجلّ" إذن في بيان الإضافة لاستخدام واجهة برمجة تطبيقات السجلّ. بالنسبة مثال:
{
"name": "My extension",
...
"permissions": [
"history"
],
...
}
أنواع النقل
تستخدم واجهة برمجة تطبيقات السجلّ نوع نقل لوصف كيفية انتقال المتصفِّح إلى عنوان URL معيّن. في زيارة معينة. على سبيل المثال، إذا زار أحد المستخدمين صفحة من خلال النقر على رابط في صفحة أخرى، نوع الانتقال هو "رابط".
يوضح الجدول التالي كل نوع انتقال.
نوع الانتقال | الوصف |
---|---|
"رابط" | وصل المستخدِم إلى هذه الصفحة من خلال النقر على رابط في صفحة أخرى. |
"typed" | حصل المستخدم على هذه الصفحة عن طريق كتابة عنوان URL في شريط العناوين. وتُستخدَم أيضًا لإجراءات التنقّل الصريحة الأخرى. راجِع أيضًا المقالة تم الإنشاء، وتُستخدَم في الحالات التي اختار فيها المستخدم خيارًا لا يشبه عنوان URL على الإطلاق. |
"auto_bookmark" | وصل المستخدم إلى هذه الصفحة من خلال اقتراح في واجهة المستخدم، من خلال عنصر قائمة مثلاً. |
"auto_subframe" | التنقل في الإطار الفرعي. يُقصد بذلك أي محتوى يتم تحميله تلقائيًا في إطار ليس من المستوى الأعلى. على سبيل المثال، إذا كانت إحدى الصفحات تتكون من عدة إطارات تحتوي على إعلانات، فإن عناوين URL للإعلانات هذه تحتوي على نوع الانتقال هذا. وقد لا يدرك المستخدم أن المحتوى في هذه الصفحات هو إطار منفصل، وبالتالي قد لا يهتم بعنوان URL (راجع أيضًا manual_subframe). |
"manual_subframe" | بالنسبة إلى عمليات التنقّل في الإطار الفرعي التي يطلبها المستخدم صراحةً وتنشئ إدخالات جديدة للتنقّل في القائمة "رجوع/إعادة توجيه". ومن المحتمل أن يكون الإطار المطلوب صراحةً أكثر أهمية من الإطار الذي يتم تحميله تلقائيًا لأن المستخدم قد يكون مهتمًا بحقيقة تحميل الإطار المطلوب. |
"تم الإنشاء" | وصل المستخدم إلى هذه الصفحة عن طريق الكتابة في شريط العناوين واختيار إدخال لا يشبه عنوان URL. على سبيل المثال، قد يكون عنوان URL لصفحة نتائج بحث على Google مطابقة، ولكنه قد يظهر للمستخدم على النحو التالي "البحث في Google عن ...". وهذا النوع من التنقل لا يتطابق إلى حد كبير مع عمليات التنقل المكتوبة، وذلك لأنّ المستخدم لم يكتب عنوان URL المقصود أو يظهر له. راجع أيضًا الكلمة الرئيسية. |
"auto_toplevel" | تم تحديد الصفحة في سطر الأوامر أو هي صفحة البداية. |
"form_submit" | ملأ المستخدم القيم في نموذج وأرسلها. يُرجى العلم أنّه في بعض الحالات، لا يؤدي إرسال نموذج إلى نوع الانتقال هذا، مثلاً عندما يستخدم النموذج نصًا برمجيًا لإرسال المحتوى. |
"إعادة التحميل" | أعاد المستخدم تحميل الصفحة، إما بالنقر على زر إعادة التحميل أو بالضغط على Enter في شريط العناوين. وتستخدم علامة التبويب المغلقة وإعادة فتحها نوع النقل هذا أيضًا. |
"الكلمة الرئيسية" | تم إنشاء عنوان URL من كلمة رئيسية قابلة للاستبدال غير موفِّر البحث التلقائي. راجِع أيضًا keyword_generated. |
"الكلمة الرئيسية التي تم إنشاؤها" | يناظر زيارة تم إنشاؤها لكلمة رئيسية. راجع أيضًا الكلمة الرئيسية. |
أمثلة
لتجربة واجهة برمجة التطبيقات هذه، يمكنك تثبيت مثال على واجهة برمجة تطبيقات السجلّ من chrome-extension-samples المستودع.
الأنواع
HistoryItem
يشير ذلك المصطلح إلى كائن يغلف نتيجة واحدة لطلب بحث في السجلّ.
أماكن إقامة
-
id
سلسلة
المعرّف الفريد للسلعة.
-
lastVisitTime
الرقم اختياري
آخر مرة تم فيها تحميل هذه الصفحة، ويتم تمثيلها بالملي ثانية منذ تاريخ بدء حساب الفترة
-
title
سلسلة اختيارية
عنوان الصفحة عند تحميلها آخر مرة.
-
typedCount
الرقم اختياري
عدد المرات التي انتقل فيها المستخدم إلى هذه الصفحة عن طريق كتابة العنوان.
-
url
سلسلة اختيارية
عنوان URL الذي انتقل إليه المستخدم.
-
visitCount
الرقم اختياري
عدد المرّات التي انتقل فيها المستخدِم إلى هذه الصفحة
Enum
"الرابط"
وصل المستخدم إلى هذه الصفحة بالنقر على رابط في صفحة أخرى.
"typed"
وصل المستخدم إلى هذه الصفحة عن طريق كتابة عنوان URL في شريط العناوين. ويُستخدَم هذا الإجراء أيضًا لإجراءات التنقّل الصريحة الأخرى.
"auto_bookmark"
وصل المستخدم إلى هذه الصفحة من خلال اقتراح في واجهة المستخدم، من خلال عنصر في القائمة مثلاً.
"auto_subframe"
وصل المستخدم إلى هذه الصفحة من خلال التنقّل في الإطار الفرعي الذي لم يطلبه، مثلاً من خلال تحميل إعلان في إطار في الصفحة السابقة. لا تؤدي هذه دائمًا إلى إنشاء إدخالات جديدة للتنقل في قائمتي الانتقال للخلف وللأمام.
"manual_subframe"
وصل المستخدم إلى هذه الصفحة عن طريق اختيار شيء ما في إطار فرعي.
"generate"
وصل المستخدم إلى هذه الصفحة عن طريق الكتابة في شريط العناوين واختيار إدخال لا يشبه عنوان URL، مثل اقتراح من "بحث Google". على سبيل المثال، قد يتم عرض محتوى مطابق على عنوان URL لصفحة نتائج على "بحث Google"، ولكنه قد يظهر للمستخدم على النحو التالي: "البحث على Google عن ...". وهذا يختلف عن التنقلات المكتوبة لأن المستخدم لم يكتب أو لم يرَ عنوان URL المقصود. وهي مرتبطة أيضًا بعمليات التنقّل بين الكلمات الرئيسية.
"auto_toplevel"
تم تحديد الصفحة في سطر الأوامر أو هي صفحة البداية.
"form_submit"
وصل المستخدِم إلى هذه الصفحة من خلال ملء القيم في نموذج ثم إرساله. بعض عمليات إرسال النماذج لا تستخدم هذا النوع الانتقالي.
"إعادة التحميل"
أعاد المستخدم تحميل الصفحة، إما بالنقر على زر إعادة التحميل أو بالضغط على Enter في شريط العناوين. وتستخدم أيضًا علامة التبويب المغلقة وإعادة فتحها نوع النقل هذا.
"الكلمة الرئيسية"
تم إنشاء عنوان URL لهذه الصفحة من كلمة رئيسية قابلة للاستبدال بخلاف موفر البحث التلقائي.
"keyword_generate"
تتوافق مع زيارة ناتجة عن كلمة رئيسية.
UrlDetails
أماكن إقامة
-
url
سلسلة
عنوان URL للعملية. ويجب أن يكون بالتنسيق الذي يتم عرضه من مكالمة إلى
history.search()
.
VisitItem
يشير هذا المصطلح إلى كائن يغلف زيارة واحدة إلى عنوان URL.
أماكن إقامة
-
id
سلسلة
المعرّف الفريد لـ
history.HistoryItem
المقابل -
isLocal
منطقي
الإصدار 115 من Chrome أو الإصدارات الأحدثصحيح إذا نشأت الزيارة على هذا الجهاز. خطأ إذا تمت مزامنته من جهاز آخر.
-
referringVisitId
سلسلة
رقم تعريف الزيارة للمُحيل
-
انتقال
نوع النقل لهذه الزيارة من المُحيل.
-
visitId
سلسلة
المعرّف الفريد لهذه الزيارة
-
visitTime
الرقم اختياري
وقت حدوث هذه الزيارة، يتم تمثيله بالملي ثانية منذ تلك الفترة.
الطُرق
addUrl()
chrome.history.addUrl(
details: UrlDetails,
callback?: function,
)
تتم إضافة عنوان URL إلى السجلّ في الوقت الحالي مع نوع انتقال من "الرابط".
المعلمات
-
التفاصيل
-
رد الاتصال
الدالة اختيارية
تظهر المَعلمة
callback
على النحو التالي:() => void
المرتجعات
-
وعود <باطلة>
الإصدار 96 من Chrome أو الإصدارات الأحدثلا تتوفّر الوعود إلا مع إصدار Manifest V3 والإصدارات الأحدث، وتحتاج الأنظمة الأساسية الأخرى إلى استخدام عمليات معاودة الاتصال.
deleteAll()
chrome.history.deleteAll(
callback?: function,
)
حذف كل العناصر من السجلّ
المعلمات
-
رد الاتصال
الدالة اختيارية
تظهر المَعلمة
callback
على النحو التالي:() => void
المرتجعات
-
وعود <باطلة>
الإصدار 96 من Chrome أو الإصدارات الأحدثلا تتوفّر الوعود إلا مع إصدار Manifest V3 والإصدارات الأحدث، وتحتاج الأنظمة الأساسية الأخرى إلى استخدام عمليات معاودة الاتصال.
deleteRange()
chrome.history.deleteRange(
range: object,
callback?: function,
)
يزيل جميع العناصر ضمن النطاق الزمني المحدد من السجل. لن تتم إزالة الصفحات من السجلّ ما لم تكن جميع الزيارات ضمن النطاق.
المعلمات
-
النطاق
كائن
-
endTime
الرقم
العناصر التي تمت إضافتها إلى السجلّ قبل هذا التاريخ، ويتم تمثيلها بالملي ثانية منذ تاريخ بدء حساب الفترة
-
startTime
الرقم
العناصر التي تتم إضافتها إلى السجلّ بعد هذا التاريخ، ويتم تمثيلها بالملي ثانية منذ تاريخ بدء حساب الفترة
-
-
رد الاتصال
الدالة اختيارية
تظهر المَعلمة
callback
على النحو التالي:() => void
المرتجعات
-
وعود <باطلة>
الإصدار 96 من Chrome أو الإصدارات الأحدثلا تتوفّر الوعود إلا مع إصدار Manifest V3 والإصدارات الأحدث، وتحتاج الأنظمة الأساسية الأخرى إلى استخدام عمليات معاودة الاتصال.
deleteUrl()
chrome.history.deleteUrl(
details: UrlDetails,
callback?: function,
)
إزالة جميع مواضع ورود عنوان URL المحدّد من السجلّ.
المعلمات
-
التفاصيل
-
رد الاتصال
الدالة اختيارية
تظهر المَعلمة
callback
على النحو التالي:() => void
المرتجعات
-
وعود <باطلة>
الإصدار 96 من Chrome أو الإصدارات الأحدثلا تتوفّر الوعود إلا مع إصدار Manifest V3 والإصدارات الأحدث، وتحتاج الأنظمة الأساسية الأخرى إلى استخدام عمليات معاودة الاتصال.
getVisits()
chrome.history.getVisits(
details: UrlDetails,
callback?: function,
)
استرداد معلومات عن الزيارات إلى عنوان URL
المعلمات
-
التفاصيل
-
رد الاتصال
الدالة اختيارية
تظهر المَعلمة
callback
على النحو التالي:(results: VisitItem[]) => void
-
النتائج
-
المرتجعات
-
Promise<VisitItem[]>
الإصدار 96 من Chrome أو الإصدارات الأحدثلا تتوفّر الوعود إلا مع إصدار Manifest V3 والإصدارات الأحدث، وتحتاج الأنظمة الأساسية الأخرى إلى استخدام عمليات معاودة الاتصال.
search()
chrome.history.search(
query: object,
callback?: function,
)
يبحث في السجل عن وقت آخر زيارة لكل صفحة تطابق طلب البحث.
المعلمات
-
query
كائن
-
endTime
الرقم اختياري
يمكنك حصر النتائج بمَن تمت زيارته قبل هذا التاريخ، ويتم تمثيله بالملي ثانية منذ تاريخ بدء حساب الفترة.
-
maxResults
الرقم اختياري
تمثّل هذه السمة الحد الأقصى لعدد النتائج المطلوب استردادها. وتكون القيمة التلقائية هي 100.
-
startTime
الرقم اختياري
يمكنك حصر النتائج بمَن تمت زيارته بعد هذا التاريخ، ويتم تمثيله بالملي ثانية منذ تاريخ بدء حساب الفترة. إذا لم يتم تحديد سمة، سيتم ضبط القيمة تلقائيًا على 24 ساعة.
-
text
سلسلة
استعلام عن نص حر لخدمة السجل. اترك هذا الحقل فارغًا لاسترداد جميع الصفحات.
-
-
رد الاتصال
الدالة اختيارية
تظهر المَعلمة
callback
على النحو التالي:(results: HistoryItem[]) => void
-
النتائج
-
المرتجعات
-
Promise<HistoryItem[]>
الإصدار 96 من Chrome أو الإصدارات الأحدثلا تتوفّر الوعود إلا مع إصدار Manifest V3 والإصدارات الأحدث، وتحتاج الأنظمة الأساسية الأخرى إلى استخدام عمليات معاودة الاتصال.
فعاليات
onVisited
chrome.history.onVisited.addListener(
callback: function,
)
يتم الإطلاق عند زيارة عنوان URL، ما يوفّر بيانات HistoryItem
لعنوان URL هذا. يتم تنشيط هذا الحدث قبل تحميل الصفحة.
المعلمات
-
رد الاتصال
دالة
تظهر المَعلمة
callback
على النحو التالي:(result: HistoryItem) => void
-
نتيجة
-
onVisitRemoved
chrome.history.onVisitRemoved.addListener(
callback: function,
)
يتم تنشيطها عند إزالة عنوان URL واحد أو أكثر من السجلّ. عند إزالة جميع الزيارات، تتم إزالة عنوان URL نهائيًا من السجلّ.
المعلمات
-
رد الاتصال
دالة
تظهر المَعلمة
callback
على النحو التالي:(removed: object) => void
-
تمت الإزالة
كائن
-
allHistory
منطقي
صحيح إذا تمت إزالة السجلّ بالكامل. إذا كانت القيمة true، ستكون عناوين URL فارغة.
-
عناوين url
string[] اختيارية
-
-