ERLEDIGT
NEIN
NEIN
ANTWORTEN
0
0
ZUGRIFFE
742
742
EMPFEHLEN
-
Hallo Leute,
ich bin im Moment dran meinen YouTube-Freunde-Add-Bot neu umzuschreiben. Ich mache das ganze um Erfahrung zu sammeln und natürlich um einen gewissen Traffik auf meinem Channel zu erzeugen. YouTube hat vor kurzem sein Design umgestellt.
Neues Design:
http://www.youtube.com/user/doohrecords
Altes Design:
http://www.youtube.com/user/majesticdnb
Im neuen Design ist es praktisch (ohne selbst was zu coden) nicht möglich weitere "Freundesanfragen" zu verschicken (Es fehlt der Button). Mit der YouTube Toolbox, ein kostspieliges Programm, ist es immernoch möglich Freundesanfragen an Personen zu schicken die bereits mit dem neuen Design arbeiten. (Das Programm ist nicht von YouTube selbst) Das lässt darauf schließen das man auch ohne Button, auf einem Channel oder YouTube selbst, eine Anfrage an YouTube schicken kann, die dort auslöst das man einen Freundesanfrage verschickt.
Beim alten Design verschickt man so eine Freundesanfrage:
Code xml:1
<a onclick="add_friend('yrCwW7YRvmztK08tpPYQ4A'); return false;" href="#">Als Freund hinzufügen</a>
Das umzusetzten ist natürlich kein Problem. Ich suche mir per RegEx die aktuelle ID raus und benutze diesen Befehl um hinzuzufügen:
Code csharp:1
Webbrowser.navigate("Javascript:add_Friend('+uid+'); return false;");
Dieser Button ist beim neuen Design jedoch garnicht vorhanden. Es wird auch keine Javascript Datei importiert, bestimmte Parameter die später gebraucht werden fehlen in der HTML (window.uid/window.boxes siehe unten).
Die funktion add_friend lässt sich beim alten Design in dieser .js finden:
http://s.ytimg.com/yt/js/channel_leg...l-vfl7YTvf3.js
Hier alles relevante aus der channel_legacy_all-vfl7YTvf3.js:
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
// Diese Variablen werden in der HTML deklariert: window.uid = *kommt immer drauf an welcher channel ist jedoch bekannt* window.boxes = {"user_playlist_navigator" : {'name' : "user_playlist_navigator",'x_position' : 1,'y_position' : -2,'palette' : "default"},"user_profile" : {'name' : "user_profile",'x_position' : 0,'y_position' : 0,'palette' : "default"},"user_hubber_links" : {'name' : "user_hubber_links",'x_position' : 1,'y_position' : 17,'palette' : "default"},"user_subscribers" : {'name' : "user_subscribers",'x_position' : 0,'y_position' : 39,'palette' : "default"},"user_comments" : {'name' : "user_comments",'x_position' : 1,'y_position' : 48,'palette' : "default"}}; // Wichtiges aus der http://s.ytimg.com/yt/js/channel_legacy_all-vfl7YTvf3.js function(){ var ChannelBackend=function(uid){this.aq_=new AjaxQueue('/profile_ajax?action_ajax=1&uid='+uid+'&new=1',window.ajax_session_info);}; ChannelBackend.prototype.call_box_method=function(box_info,params,method,callback,opt_logging){ var request=box_info; request.method=method; request.params=params; var unpack_callback=function(response){callback(response.data)}; // Versteh ich nicht. var logging='box_method='+method+'&box_name='+box_info.name+(opt_logging||''); this.aq_.quick_send(request,'box_method',unpack_callback,logging); }; ChannelBackend.singleton_=null; ChannelBackend.get=function(){ if(!ChannelBackend.singleton_){ ChannelBackend.singleton_=new ChannelBackend(window.uid); } return ChannelBackend.singleton_; }; function get_box_info(box_id){ return window.boxes[box_id]; } function add_friend(uid){ var box_info=get_box_info('user_profile'); var backend=ChannelBackend.get(); var callback=function(json_resp){ // Woher kommt json_resp? if(json_resp.requested){ display_success_alert('user_profile-messages',json_resp.message); _showdiv('aProfileInvitedFriend'); _hidediv('aProfileAddFriend'); }else if(json_resp.success){ display_success_alert('user_profile-messages',json_resp.message); _showdiv('aProfileRemoveFriend'); _hidediv('aProfileAddFriend'); }else{ display_error_alert('user_profile-messages',json_resp.message||json_resp.errors); } }; params={'uid':uid}; backend.call_box_method(box_info,params,'add_friend',callback); }
Irgendwo in diesem Javascript Code versteckt sich also diese Anfrage an YouTube das man einen Freundesanfrage losschicken will. Ich schätze mal es ist diese Zeile:
Code xml:1
this.aq_.quick_send(request,'box_method',unpack_callback,logging);
Wo sich diese AjaxQueue Klasse befindet und was genau mit den Parametern dort geschieht ist mir rätselhaft. Ich will im prinzip alles was in diesem Code geschieht vorspielen also auf einer Seite per onClick anwenden wo die .js nicht importiert wurde. Wie stell ich das an?
Grüße,
Nick
Ähnliche Themen
-
Javascript hinter URL ausführen
Von hanshopfen im Forum Javascript & AjaxAntworten: 1Letzter Beitrag: 24.11.10, 16:29 -
JavaScript von Adresszeile ausführen (IE)
Von Freak im Forum Coders TalkAntworten: 2Letzter Beitrag: 02.04.09, 00:26 -
JavaScript in Flash ausführen
Von FreakDad im Forum Flash PlattformAntworten: 3Letzter Beitrag: 27.02.09, 13:00 -
WebBrowser-Control: JavaScript-Aktionen abfangen
Von s3rvus im Forum Visual Basic 6.0Antworten: 1Letzter Beitrag: 28.08.08, 00:10 -
JavaScript per Tastenkürzel ausführen?
Von michael_st im Forum Javascript & AjaxAntworten: 9Letzter Beitrag: 21.02.06, 14:15





Zitieren
Login





