فتح مخطط فلاش على IE 8
-
04-10-2019 - |
سؤال
أنا أستخدم Open Flash Chart 2 لتقديم الرسوم البيانية والمخططات في موقع الويب الخاص بي. أحاول تحميل بيانات JSON للحصول على مخطط من نفس الصفحة. هناك عدة طرق للقيام بذلك.
- استخدم خاصية get-data من الرسم البياني وتمرير طريقة JavaScript التي تُرجع JSON
- استخدم طريقة open_flash_chart_data التي يعرفها مخطط الفلاش لقراءة البيانات من
يبدو أن الجميع يعملون بشكل جيد على Firefox و Chrome وما إلى ذلك. المستعرض الوحيد الذي لديه مشكلة هو IE (أنا أستخدم IE 8)
عند النظر إلى المصدر المفتوح ، وجدت أن المكتبة تستخدم ExetRnalInterface لتنفيذ طريقة JavaScript ، ويبدو أن altough من واجهة ExternalInterface متوفرة ، فهي تُرجع إلى أي تنفيذ لطريقة في IE.
يبدو أن هذه المشكلة معروفة بالفعل بمجتمع مطوري فلاش ، لذلك جربت بعض الأشياء (على الرغم من أن هناك بعض الحلول التي لم أتمكن من استخدامها في المكتبة - على سبيل المثال معرف فريد لعنصر التضمين. تقوم المكتبة بإنشائها)
في الختام ، ربما أفتقد حلًا بسيطًا لمشكلتي.
رمز بلدي:
هذه هي دعوة jQuery إلى مخطط الفلاش المفتوح من JavaScript:
$('#myDiv').flash
(
{
src: ofc_swf,
width: "400",
height: "250",
allowscriptaccess: "always",
wmode: "transparent",
flashvars: {"get-data": "getFlashJson"}
},
{
version: 8
}
);
وهذه هي طريقة JavaScript التي ستعيد مصدر JSON للمخطط:
function getFlashJson()
{
var val = $("#myJson").val();
return val;
}
سأقدر أي مساعدة في هذا.
شكرًا
المحلول
حاول تحديث swfobject.js: بالنسبة لي ، كان الإصدار 2.2 قد حل مشاكلي.
نصائح أخرى
واجهت هذه المشكلة ووجدت حلاً.
قم بإزالة أجزاء رمز الفلاش في ملف PHP الذي يسبق معرف الفيلم مع ie_
وأيضًا قم بتغيير رمز SWFObject JavaScript إلى هذا:
function findSWF(movieName) {
if (navigator.appName.indexOf("Microsoft")!= -1) {
return window[movieName];
} else {
return document[movieName];
}
}