سؤال

لسبب ما لا يمكنني الحصول على مرشحات SVG الخاصة بي للعمل في Firefox. أنها تعمل بشكل جيد في الأوبرا ، ولكن. العنصر الذي قمت بتعيينه على المرشح على اختفاء فقط. إنه أمر غريب جدًا.

هذا هو رمز JavaScript الخاص بي:

defsElement = SVGDoc.createElement("defs");
var filterElement = SVGDoc.createElement("filter");
filterElement.setAttribute( "id", "cm-mat");
filterElement.setAttribute( "filterUnits", "objectBoundingBox");

var fecolormatrixElement = SVGDoc.createElement("feColorMatrix");
fecolormatrixElement.setAttribute("type", "matrix");
fecolormatrixElement.setAttribute("in", "SourceGraphic");
fecolormatrixElement.setAttributeNS(null, "values", "1 1 1 1 1  2 2 2 2 1  1 1 1 1 1  1 1 1 1 1");
filterElement.appendChild(fecolormatrixElement);
defsElement.appendChild(filterElement);
SVGDoc.documentElement.insertBefore(defsElement, SVGDoc.documentElement.childNodes.item(1));

partRef = getElementFromID(SVGDoc.documentElement, part);
if(partRef != null)
{
    partRef.style.setProperty('filter', 'url(#cm-mat)', null);
}

أي أفكار؟ شكرًا

هل كانت مفيدة؟

المحلول

بول الأيرلندي قدم عرضًا تجريبيًا مرشحات SVG إلى HTML 5 فيديو.

رمز المصدر ل العرض التوضيحي الحي يوضح كيفية التبديل بين المرشحات. في هذه الحالة ، تتم كتابة جميع قطع SVG مباشرة في الصفحة كعلامات ، ولا يتم إدراجها ديناميكيًا عبر JavaScript.

قد يساعد ذلك في محاولة تشغيلها باستخدام علامات مباشرة ، ثم قم بالتبديل إلى JavaScript بمجرد عملها. قد يكون هناك بعض الغريب الغريب للتنفيذ (BUG) الذي يعبر عن نفسه فقط عند إنشاؤه ديناميكيًا (/تكهنات).

أيضًا ، قد لا يعتمد على إصدار Firefox الذي تستخدمه. لست متأكدًا من الإصدار الذي بدأ دعم مرشحات SVG ، ولكن يبدو أن منشور بول يشير إلى أنه قد يتطلب بناء ليلي.

حظا طيبا وفقك الله!

نصائح أخرى

يبدو لي مصفوفة الألوان هذه كما ينبغي أن تحول كل مكون من كل لون إلى بالكامل ، مما يجعل العنصر أبيض تمامًا.

(قد يكون من الأسهل أيضًا على الآخرين معرفة ما إذا كنت قد نشرت عنوان URL لمثال كامل يوضح المشكلة بدلاً من مجرد مقتطف JavaScript ؛ وهذا من شأنه أن يسمح للآخرين باختبار النظريات عن سبب حدوثها.)

قد يكون هذا مرتبطًا بـ علة Firefox #308590. باختصار فشل Firefox في حل عناوين URL للمرشح عندما يتم تحميل SVG الخاص بك من uRL البيانات أو حصلتu003Cbase> -راج في المستند الخاص بك.

في المثال الخاص بك ، يبحث Firefox عن URL (#سم) في مكان ما خارج وثيقتك المضمنة. لسوء الحظ ، تم إصلاحه مؤخرًا فقط ، وفي حالتي لم أجد حلًا بديلًا ، ولكن لحذف الأداء الأساسي بطريقة أو بأخرى.

يجب تقديم صفحتك كـ XML.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top