سؤال

هل هناك أي أداة جيدة تسمح للمطورين بتصحيح رسائل التصحيح بشكل صحيح بين Windows مع postmessage?

أو ربما البرنامج المساعد ل firebug؟

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

المحلول

Firebug (اعتبارًا من 1.11 بيتا 1) يدعم هذا مع monitorEvents(). يمكنك أن تفعل شيئًا كهذا:

$("iframe").each(function(i, e) {
    console.log("Monitoring messages sent to: iframe(" + i + ")#" + $(this).attr("id"));
    monitorEvents(this.contentWindow, "message"); 

    // Send a test message to this iframe
    this.contentWindow.postMessage("Hi iframe - " + i, "*"); 
});

console.log("Monitoring messages sent to window");
monitorEvents(window, "message"); 
// Send a test message to the window
window.postMessage("Hi window", "*"); 

(pierre: شكرًا على ذكر ذلك طلب المواصفات)

تعديل: يعمل أيضًا في Chrome, ، على الرغم من أنني جربت الرمز أعلاه ، واجهت خطأ أمانًا document.domain لم تكن القيم هي نفسها ، وبالتالي فإن سلوك هذين التنفيذيين قد يكون مختلفًا قليلاً.

تحديث: أملك قدم طلب ميزة لفريق Chrome الذي يسأل أن تظهر أحداث ما بعد الحدود في الجدول الزمني. أيضا ، لقد وجدت امتداد يسمى Jscript Tricks يمكن أن يضخ رمز JavaScript التعسفي في صفحة عند تحميله. يمكنك إضافة الكود التالي إليه لمراقبة الأحداث بمجرد تحميل الصفحة. إنه يعمل بشكل جيد ، على الرغم من أنه قد يفوتك الأحداث التي تحدث على الفور (على سبيل المثال قبل التحميل ، إذا كان ذلك ممكنًا).

(function($) {
    var $window = $(window);
    $window.add("iframe").on("message", function(e) {
        console.log("Received messsage from " + e.originalEvent.origin + ", data = " + e.originalEvent.data);
    });
})(jQuery);

نصائح أخرى

حريق طلب المواصفات تم اصداره.

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