0

I'm trying to trigger an event on my crossrider extension. Using the code below the event never gets to the extension. If I put a timeout and wait 5 seconds it does. So is there a way to detect when the extension\api is ready to receive events?

 $(document).ready(function () {

    var x = 'xxxxx';

   $('body').fireExtensionEvent('eventName', { key: 'token-' + x });

});
NullReference
  • 4,404
  • 12
  • 53
  • 90

1 Answers1

1

You can use CrossriderAPI.isAppInstalled.

<script type="text/javascript" src="https://w9u6a2p6.ssl.hwcdn.net/plugins/javascripts/crossriderAPI.js"></script>
<script type="text/javascript">
    // Replace XXXXX with the extension id
    var extId = "XXXXX";

    // Once the page is ready
    $(function() {
        CrossriderAPI.isAppInstalled(extId, function(isInstalled) {
            // Displays true if the extension is installed; otherwise false
            var x = 'xxxxx';
            $('body').fireExtensionEvent('eventName', { key: 'token-' + x });
        });
    });
</script>

[Disclosure: I am a Crossrider employee]

Shlomo
  • 3,763
  • 11
  • 16