Advertisement
Guest User

multiplephototest.js

a guest
Jul 2nd, 2014
1,213
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. (function($, jn) {
  2.  
  3.     if(_Janetter_Window_Type=="main" || _Janetter_Window_Type=="profile" || _Janetter_Window_Type=="notice"){
  4.  
  5.         // entitiesにextended_entitiesを統合
  6.         var _init = jn.tweetController.prototype.init;
  7.         jn.tweetController.prototype.init = function (juid, item, options, autoread){
  8.             if(item){
  9.                 if(item.entities && item.extended_entities){
  10.                     item.entities.extended_media = item.extended_entities.media || [];
  11.                 }
  12.                 if(item.retweeted_status && item.retweeted_status.entities && item.retweeted_status.extended_entities){
  13.                     item.retweeted_status.entities.extended_media = item.retweeted_status.extended_entities.media || [];
  14.                 }
  15.             }
  16.             return _init.apply(this, arguments);
  17.         };
  18.  
  19.         // entitiesLinkの修正
  20.         var linkExtendedEntities = function(entities){
  21.             var text = '';
  22.             if(entities.extended_media){
  23.                 entities.extended_media.slice(1).forEach(function(e, i){
  24.                     var link = '<a hidden href="%1" class="link" title="%2"%3%4%5>%6</a>'.format(
  25.                         e.url,
  26.                         (e.expanded_url || e.url).decodeURI().htmlEncode(true),
  27.                         /* そのままだとexpandedが同値になってサムネイル表示してくれないため、#付けて無理やり変える */
  28.                         e.expanded_url ? ' expanded="' + e.expanded_url.htmlEncode(true) + '#' + (i+2) + '"' : '',
  29.                         e.media_url ? ' media="' + e.media_url.htmlEncode(true) + '"' : '',
  30.                         e.type ? ' type="' + e.type.htmlEncode(true) + '"' : '',
  31.                         e.display_url ? e.display_url.htmlEncode(true) : e.url.htmlEncode(true)
  32.                     );
  33.                     text += link;
  34.                 });
  35.             }
  36.             return text;
  37.         };
  38.         var _fn_entitiesLink = $.fn.entitiesLink;
  39.         $.fn.entitiesLink = function(entities){
  40.             _fn_entitiesLink.call(this, entities);
  41.             this.html(this.html() + linkExtendedEntities(entities));
  42.             return this;
  43.         };
  44.         var _str_entitiesLink = String.prototype.entitiesLink;
  45.         String.prototype.entitiesLink = function(entities){
  46.             return _str_entitiesLink.call(this, entities) + linkExtendedEntities(entities);
  47.         };
  48.     }
  49.  
  50. })(jQuery, janet);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement