سؤال

أنا أستخدم 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];
  }
}
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top