لقد لاحظت في jesus2099 / konami-command # 372 أن Firefox v57 + Greasemonkey v4 سيعمل فقط مع عنوان URL الكامل https?://host.tld/pathname
ولم يعد يعمل مع /pathname
.
لا يتأثر Firefox v57 + محرك GM آخر بهذا الانحدار ، ولهذا السبب أفتح تذكرة هنا.
في بلدي عمل حول ، واضطررت الى إلحاق self.location.protocol + "//" + self.location.host +
أمام URL بلدي.
يجب أن تستخدم الطلبات التي يتم تشغيلها من سياق البرنامج النصي للمحتوى (التي يتم تشغيل نصوص المستخدمين بها) عناوين url كاملة.
إذا كنت لا ترغب في استخدام عناوين url الكاملة ، فيمكنك استخدام الطرق الموجودة على window.wrappedJSObject
وتصدير أي وظائف مطلوبة للتشغيل (onreadystatechange ، إلخ) باستخدام exportFunction()
. اقتراحي هو فقط استخدام عناوين url كاملة.
شكرا جزيلا على مساعدتك.
حسنًا ، تقصد أنها وفقًا لمواصفات نظام WebExtensions ، أليس كذلك؟
لا أعرف أشياء WebExtensions هذه ، ولكن يبدو أنها معيار…؟
لا أتذكر قراءة أي شيء عن هذا الانحدار المعين في GM v4 لمنشورات مدونة
هل من المؤكد أن هذا الانحدار دائم؟
هل من المؤكد أن هذا الانحدار دائم؟
يمكن. لا أعرف حقًا. ربما لن تواجه هذه المشكلات في أسفل السطر <strong i="7">@grant</strong> none
، إذا كان من الممكن إنشاء صندوق حماية مناسب. ولكن إذا كانت بعض واجهات برمجة التطبيقات المميزة مطلوبة ، فقد تكون هذه الخطوات ضرورية. الكرة حقًا في ملعب موزيلا.
FTR هو نصي النصي <strong i="5">@grant</strong> none
.
لقد تركت قادة المشروع يغلقون هذه التذكرة أو لا يغلقونها.
سوف أتكيف.
هذا ليس مقصودًا ، لذا لا ينبغي توقع أن يكون دائمًا. يمكننا حل المسارات غير المطلقة تمامًا استنادًا إلى المستند كجذر.
الرجاء ملاحظة أن عنوان url الأساسي الصحيح هو: document.baseURI
(متعلق بـ <base href="...">
)
يمكنني أن أؤكد أن jQuery AJAX لا يعمل مع عنوان URL للمسار فقط.
Firefox 57 ، أحدث إصدار من Greasemonkey.
$.ajax({
url: '/some/path',
success: () => {}
});
يعمل My AJAX مع Firefox القديم (إضافات الويب السابقة)
تم تجميع الإصلاح أعلاه في إصدار تجريبي جديد:
https://addons.mozilla.org/firefox/downloads/file/830369/greasemonkey-4.2beta1-an+fx.xpi؟src=devhub
سيكون موضع تقدير الاختبار والتأكيد!