Greasemonkey: لم يعد xmlHttpRequest.open يقبل المسار بدون بروتوكول ومضيف

تم إنشاؤها على ١٤ ديسمبر ٢٠١٧  ·  9تعليقات  ·  مصدر: greasemonkey/greasemonkey

لقد لاحظت في jesus2099 / konami-command # 372 أن Firefox v57 + Greasemonkey v4 سيعمل فقط مع عنوان URL الكامل https?://host.tld/pathname ولم يعد يعمل مع /pathname .
لا يتأثر Firefox v57 + محرك GM آخر بهذا الانحدار ، ولهذا السبب أفتح تذكرة هنا.

ال 9 كومينتر

في بلدي عمل حول ، واضطررت الى إلحاق self.location.protocol + "//" + self.location.host + أمام URL بلدي.

يجب أن تستخدم الطلبات التي يتم تشغيلها من سياق البرنامج النصي للمحتوى (التي يتم تشغيل نصوص المستخدمين بها) عناوين url كاملة.

https://developer.mozilla.org/en-US/Add-ons/WebExtensions/Chrome_incompatulations#Content_script_requests_happen_in_the_context_of_extension_not_content_page

إذا كنت لا ترغب في استخدام عناوين 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

سيكون موضع تقدير الاختبار والتأكيد!

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات