zurück zur Startseite
  


Zurück XHTMLforum > Webentwicklung (außer XHTML und CSS) > Javascript & Ajax
Seite neu laden Datum + Zeit bei Twittereintrag

Antwort
 
LinkBack Themen-Optionen Ansicht
  #61 (permalink)  
Alt 02.12.2010, 12:04
Benutzerbild von protonenbeschleuniger
Verbesserer
XHTMLforum-Kenner
 
Registriert seit: 06.09.2007
Beiträge: 4.977
protonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblick
Standard

Ja, es lag an der Funktion, aber nicht wegen der Funktion, sondern weil irgendwo Backslashes verloren gegangen sind, die Variante die Pascolo gezeigt ist aber besser.
Mit Zitat antworten
Sponsored Links
  #62 (permalink)  
Alt 02.12.2010, 12:10
Erfahrener Benutzer
XHTMLforum-Mitglied
 
Registriert seit: 06.10.2010
Beiträge: 177
SpecialFighter befindet sich auf einem aufstrebenden Ast
Standard

und wiedermal versteh ich leider kein Wort
Mit Zitat antworten
Sponsored Links
  #63 (permalink)  
Alt 02.12.2010, 13:33
Erfahrener Benutzer
XHTMLforum-Mitglied
 
Registriert seit: 06.10.2010
Beiträge: 177
SpecialFighter befindet sich auf einem aufstrebenden Ast
Standard

okay habe ne Lösung gefunden.
habe jetzt folgenden Quellcode:

PHP-Code:
(function($) {
 
  $.
fn.tweet = function(o){
    var 
= {
      
username: ["IT_Center_Neuss"],              // [string]   required, unless you want to display our tweets. :) it can be an array, just do ["username1","username2","etc"]
      
list: null,                              //[string]   optional name of list belonging to username
      
avatar_sizenull,                      // [integer]  height and width of avatar if displayed (48px max)
      
count3,                               // [integer]  how many tweets to display?
      
intro_textnull,                       // [string]   do you want text BEFORE your your tweets?
      
outro_textnull,                       // [string]   do you want text AFTER your tweets?
      
join_text:  null,                       // [string]   optional text in between date and tweet, try setting to "auto"
      
auto_join_text_default"",      // [string]   auto text for non verb: "i said" bullocks
      
auto_join_text_ed"",                 // [string]   auto text for past tense: "i" surfed
      
auto_join_text_ing"",             // [string]   auto tense for present tense: "i was" surfing
      
auto_join_text_reply"",   // [string]   auto tense for replies: "i replied to" @someone "with"
      
auto_join_text_url""// [string]   auto tense for urls: "i was looking at" http:...
      
loading_textnull,                     // [string]   optional loading text, displayed while tweets load
      
querynull                             // [string]   optional search query
    
};
    
    if(
o) $.extend(so);
    
    $.
fn.extend({
      
linkUrl: function() {
        var 
returning = [];
        var 
regexp = /((ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?)/gi;
        
this.each(function() {
          
returning.push(this.replace(regexp,"<a href=\"$1\">$1</a>"));
        });
        return $(
returning);
      },
      
linkUser: function() {
        var 
returning = [];
        var 
regexp = /[\@]+([A-Za-z0-9-_]+)/gi;
        
this.each(function() {
          
returning.push(this.replace(regexp,'<span class="username"><br />$1</span><br />'));
        });
        return $(
returning);
      },
      
linkHash: function() {
        var 
returning = [];
        var 
regexp = /(?:^| )[\#]+([A-Za-z0-9-_]+)/gi;
        
this.each(function() {
          
returning.push(this.replace(regexp' <a href="http://search.twitter.com/search?q=&tag=$1&lang=all&from='+s.username.join("%2BOR%2B")+'">#$1</a>'));
        });
        return $(
returning);
      },
      
capAwesome: function() {
        var 
returning = [];
        
this.each(function() {
          
returning.push(this.replace(/\b(awesome)\b/gi'<span class="awesome">$1</span>'));
        });
        return $(
returning);
      },
      
capEpic: function() {
        var 
returning = [];
        
this.each(function() {
          
returning.push(this.replace(/\b(epic)\b/gi'<span class="epic">$1</span>'));
        });
        return $(
returning);
      },
      
makeHeart: function() {
        var 
returning = [];
        
this.each(function() {
          
returning.push(this.replace(/(&lt;)+[3]/gi"<tt class='heart'>&#x2665;</tt>"));
        });
        return $(
returning);
      }
    });

    function 
parse_date(date_str) {
      
// The non-search twitter APIs return inconsistently-formatted dates, which Date.parse
      // cannot handle in IE. We therefore perform the following transformation:
      // "Wed Apr 29 08:53:31 +0000 2009" => "Wed, Apr 29 2009 08:53:31 +0000"
      
return Date.parse(date_str.replace(/^([a-z]{3})( [a-z]{3} \d\d?)(.*)( \d{4})$/i'$1,$2$4$3'));
    }
    
          if(
typeof(s.username) == "string"){
        
s.username = [s.username];
      }

    function 
relative_time(time_value) {
      var 
tweetTime = new Date(time_value)
       var 
month tweetTime.getMonth();
      var 
day tweetTime.getDate()
      var 
year tweetTime.getFullYear()
      var 
hours tweetTime.getHours()
      var 
minutes tweetTime.getMinutes()
      if (
minutes 10){ minutes "0" minutes }  
      if (
day 10){ day "0" day }
      
      switch (
month)
          {
            case 
1month " Januar"; break;
            case 
2month " Februar"; break;
            case 
3month " März"; break;
            case 
4month " April"; break;
            case 
5month " Mai"; break;
            case 
6month " Juni"; break;
            case 
7month " Juli"; break;
            case 
8month " August"; break;
            case 
9month " September"; break;
            case 
10month " Oktober"; break;
            case 
11month " November"; break;
            case 
12month " Dezember"; break;    
            default: 
"";
        }
               
      return 
day "." month " " year " &raquo; " hours ":" minutes " Uhr";    

    }

    function 
build_url() {
      var 
proto = ('https:' == document.location.protocol 'https:' 'http:');
      if (
s.list) {
        return 
proto+"//api.twitter.com/1/"+s.username[0]+"/lists/"+s.list+"/statuses.json?per_page="+s.count+"&callback=?";
      } else if (
s.query == null && s.username.length == 1) {
        return 
proto+'//api.twitter.com/1/statuses/user_timeline.json?screen_name='+s.username[0]+'&count='+s.count+'&include_rts=1&callback=?';
      } else {
        var 
query = (s.query || 'from:'+s.username.join(' OR from:'));
        return 
proto+'//search.twitter.com/search.json?&q='+encodeURIComponent(query)+'&rpp='+s.count+'&callback=?';
      }
    }

    return 
this.each(function(iwidget){
      var list = $(
'<ul class="tweet_list">').appendTo(widget);
          var 
loading = $('<p class="loading">'+s.loading_text+'<br /><br /><img src="images/loading.gif" /></p>');



      if (
s.loading_text) $(widget).append(loading);
      $.
getJSON(build_url(), function(data){
        if (
s.loading_textloading.remove();
        var 
tweets = (data.results || data);
        $.
each(tweets, function(i,item){
          
// auto join text based on verb tense and content
          
if (s.join_text == "auto") {
            if (
item.text.match(/^(@([A-Za-z0-9-_]+)) .*/i)) {
              var 
join_text s.auto_join_text_reply;
            } else if (
item.text.match(/(^\w+:\/\/[A-Za-z0-9-_]+\.[A-Za-z0-9-_:%&\?\/.=]+) .*/i)) {
              var 
join_text s.auto_join_text_url;
            } else if (
item.text.match(/^((\w+ed)|just) .*/im)) {
              var 
join_text s.auto_join_text_ed;
            } else if (
item.text.match(/^(\w*ing) .*/i)) {
              var 
join_text s.auto_join_text_ing;
            } else {
              var 
join_text s.auto_join_text_default;
            }
          } else {
            var 
join_text s.join_text;
          };

          var 
from_user item.from_user || item.user.screen_name;
          var 
profile_image_url item.profile_image_url || item.user.profile_image_url;
          var 
join_template '<span class="tweet_join"> '+join_text+' </span>';
          var 
join = ((s.join_text) ? join_template ' ');
          var 
avatar_template '<a class="tweet_avatar" href="http://twitter.com/'+from_user+'"><img src="'+profile_image_url+'" height="'+s.avatar_size+'" width="'+s.avatar_size+'" alt="'+from_user+'\'s avatar" title="'+from_user+'\'s avatar" border="0"/></a>';
          var 
avatar = (s.avatar_size avatar_template '');
          var 
date '<span class="tweet_time"><a href="http://twitter.com/'+from_user+'/statuses/'+item.id+'" title="view tweet on twitter">'+relative_time(parse_date(item.created_at))+'</a></span>';
          var 
text '<br /><span class="tweet_text">' +$([item.text]).linkUrl().linkUser().linkHash().makeHeart().capAwesome().capEpic()[0]+ '</span><br /><br /><br />';

          
// until we create a template option, arrange the items below to alter a tweet's display.
          
list.append('<li>' avatar date join text '</li>');

          list.
children('li:first').addClass('tweet_first');
          list.
children('li:odd').addClass('tweet_even');
          list.
children('li:even').addClass('tweet_odd');
        });
        if (
s.outro_text) list.after(outro);
        $(
widget).trigger("loaded").trigger((tweets.length == "empty" "full"));
      });

    });
  };
})(
jQuery); 
Jetzt läuft alles perfekt

Geändert von SpecialFighter (02.12.2010 um 14:34 Uhr)
Mit Zitat antworten
  #64 (permalink)  
Alt 02.12.2010, 15:36
Benutzerbild von protonenbeschleuniger
Verbesserer
XHTMLforum-Kenner
 
Registriert seit: 06.09.2007
Beiträge: 4.977
protonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblick
Standard

Das ist absolut das gleiche wie vorher inkl. der fehlenden Backslashes, dass das auf einmal funktioniert kann nur ein Wunder sen *hallejulia*
Mit Zitat antworten
  #65 (permalink)  
Alt 02.12.2010, 15:47
Erfahrener Benutzer
XHTMLforum-Mitglied
 
Registriert seit: 06.10.2010
Beiträge: 177
SpecialFighter befindet sich auf einem aufstrebenden Ast
Standard

eben nicht.
habe die time function geändert in

Code:
function relative_time(time_value) {
      var tweetTime = new Date(time_value)
 	  var month = tweetTime.getMonth();
      var day = tweetTime.getDate()
      var year = tweetTime.getFullYear()
      var hours = tweetTime.getHours()
      var minutes = tweetTime.getMinutes()
      if (minutes < 10){ minutes = "0" + minutes }  
      if (day < 10){ day = "0" + day }
      
	  switch (month)
	  	{
			case 1: month = " Januar"; break;
			case 2: month = " Februar"; break;
			case 3: month = " März"; break;
			case 4: month = " April"; break;
			case 5: month = " Mai"; break;
			case 6: month = " Juni"; break;
			case 7: month = " Juli"; break;
			case 8: month = " August"; break;
			case 9: month = " September"; break;
			case 10: month = " Oktober"; break;
			case 11: month = " November"; break;
			case 12: month = " Dezember"; break;	
			default: "";
		}
               
      return day + "." + month + " " + year + " &raquo; " + hours + ":" + minutes + " Uhr";    

    }
und

habe aus

PHP-Code:
var date '<p class="tweet_time"><a href="http://twitter.com/'+from_user+'/statuses/'+item.id+'" title="view tweet on twitter">'+fix_time(item.created_at)+'</a></p>'
das hier gemacht:

PHP-Code:
 var date '<span class="tweet_time"><a href="http://twitter.com/'+from_user+'/statuses/'+item.id+'" title="view tweet on twitter">'+relative_time(parse_date(item.created_at))+'</a></span>'
Mit Zitat antworten
  #66 (permalink)  
Alt 02.12.2010, 16:11
Benutzerbild von protonenbeschleuniger
Verbesserer
XHTMLforum-Kenner
 
Registriert seit: 06.09.2007
Beiträge: 4.977
protonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblick
Standard

Ja, und das macht exakt das gleiche wie vorher. Du hast nur den Aufruf aus der Funktion ausgelagert, was aber absolut keinen Unterschied macht.
Mit Zitat antworten
Antwort

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
"Seite lädt" in der Navigation für eine bestimmte Zeit anzeigen, etc...??? webseite_freaky Javascript & Ajax 2 13.01.2009 21:50
Die Sache mit der Zeit (Verständnisfragen) Stoni Serveradministration und serverseitige Scripte 9 26.10.2008 19:06
2 Datum Vergleichen your_ass Serveradministration und serverseitige Scripte 11 27.08.2008 17:48
XHTML Datum Cube (X)HTML 3 23.03.2006 16:43
Zeilenüberlappung bei margin-top mit negativem Wert c.weber.os CSS 15 15.10.2005 16:11


Alle Zeitangaben in WEZ +2. Es ist jetzt 17:22 Uhr.