Simple Signal Slot

联合创作 · 2023-10-02 15:06

This plugin is utility for convinience of communication between iframes in HTML page,
it is mimicking from Qt's signal/slot concept.


you can do with jquery.sigslot.js:



  • send signal to N-depth iframe page

  • async. or sync. communication

  • exclude or include particular iframe

  • allow multiple slot or just one


Usage


([ .. ] for opton , '|' for seperator)




    1. slot

  • $.slot.add( 'sig/slot id', function [,repeatable] )


  • repeatable = true | false


    false: allow only one slot function for signal-id (default)


    true: allow every slot function for signal-id, even it is identical. so, slot function is called as many as times you registered


    ex) $.slot.add( 'test', [a,b,c,d], true );

  • $.slot.remove( 'sig/slot id'[, function]);


  • * if function is omitted, remove all slot functions for signal-id

  • $.slot.countOf( 'sig/slot id');


  • * return number of registered slot function for signal-id





    2. signal

  • $.signal( 'sig/slot id',  args, [, options ] );


  • * args: arguments passing to slot function. wrap by [] if you want to pass more than one.


    * options : simple object, for ...



      direction = $.signal.SELF | $.signal.UPLINK | $.signal.FOLLOWLINK | $.signal.OTHER | $.signal.BROADCAST


       purpose: direct where to pass signal. default for all iframes include window.self


       - $.signal.SELF (send signal only to current page that the signal occur)


       - $.signal.UPLINK (send signal only to parents iframes EXCLUDE current page that the signal occur)


       - $.signal.FOLLOWLINK (send signal only to child iframes EXCLUDE current page that the signal occur)


       - $.signal.OTHER (send signal to all iframe pages EXCLUDE current page that the signal occur)


       - $.signal.BROADCAST (send signal to all iframes INCLUDE current page that the signal occur)



      sync = true | false


       purpose: select async or sync call. boolean type. default is sync.


    * $.signal will NOT cause error, if there's no slot function for signal-id. It will do nothing.

浏览 10
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报