• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Viele hassen ihn, manche schwören auf ihn, wir aber möchten unbedingt sehen, welche Bilder Ihr vor Eurem geistigen Auge bzw. vor der Linse Eures iPhone oder iPad sehen könnt, wenn Ihr dieses Wort hört oder lest. Macht mit und beteiligt Euch an unserem Frühjahrsputz ---> Klick

[Anleitung] Lock Screen Info mit StudiVZ Notifier

Rysk

Jerseymac
Registriert
21.10.07
Beiträge
457
Bezugnehmend auf die von Thyraz hier vorgestellte Mobile Substrate Erweiterung Lock Screen Info möchte ich hier noch eine kleine Erweiterung dazugeben.

Die Ausgangsversion, deren Installationsanleitung im o.g. Thread zu finden ist erweitert den LockScreen um einige wichtige Informationen [LINKS: Ohne StudiVZ Notifier, RECHTS: Mit StudiVZ Notifier]

206603517849E051B1E50BE.png

64659501749E054621F653.png


[LINKS: Während des Ladens, neue Nachricht vorhanden, RECHTS: keine neuen Nachrichten]

Der StudiVZ Notifier öffnet StudiVZ in einem unsichtbaren Frame und überprüft, ob neue Nachrichten vorliegen. Das Ergebnis findet sich dann im LockScreen. Auffüllig ist vielleicht, dass der StudiVZ-"Balken" auch bleibt, wenn keine neuen Nachrichten vorliegen (gibt es welche, so wird dies durch "Post für Dich" kenntlich gemacht). Der permanente Balken stellt sich als sinnvoll heraus, da er als Refresh-Button fungiert und so mit einem "Tap" nach neuen Nachrichten sucht. Damit muss nicht der gesamte LockScreen neugeladen werden - das spart Zeit und wirft das Layout nicht durcheinander.


Vorteile:
- es müssen keine Logindaten eingeben werden. Sobald man einmal mit MobileSafari auf studivz.de war speichert er die Logindaten und bleibt automatisch eingeloggt. Somit kann auch der StudiVZ Notifier darauf zugreifen.
- Der StudiVZ-Block im LockScreen ist klickbar und aktualisiert sich nach einem Klick. Während des Vorgangs ändert sich der Schriftzug zu "StudiVZ ..." und zeigt so die Aktivität an.
- kein ständiger Refresh, sondern nur bei jedem "ersten Anzeigen" des LockScreens nach dem locken. Somit nicht ungewollt Daten übertragen und Akku verbraucht.
- behindert den restlichen LockScreen Info Inhalt nicht weiter.

Nachteile:
- momentan wird die komplette Mobile-StudiVZ Seite geladen, wodurch ca. 35kB Daten übertragen werden. Bei 30 Lockvorgängen am Tag und einer 10kB Taktung entspricht das rund 36MB im Monat.
- dauert bei GPRS etwas länger.



Installation:

Voraussetzung ist eine funktionierende Installation der o.g. LockScreenInfo (z.B. Thyraz' LockInfo UI scollable). Weiterhin wird die SSH-Verbindung und ein Texteditor benötigt.

Änderungen werden in der LockBackground.html und der js/lockinfo.js durchgeführt. Beide finden sich im entsprechenden Theme Ordner des LockInfo Themes (z.B. /Library/Themes/LockInfo UI scrollable.theme/)


In die js/lockinfo.js muss folgende Funktion eingefügt werden. DIe Position ist dabei beliebig - sie muss nur außerhalb der anderen Funktionen liegen:

Code:
    function updateStudiVZ(){
        /*StudiVZ Notifier 0.9 by [Klarname entfernt]
       
          [E-Mail entfernt]
         
          Loads the mobile-page of StudiVZ in a non-visible
          iframe and parses the welcome page for the "New Message"-hint.
         
          11.April 2009
       
        */

        //Configurations
        var stringMessage = "Post für Dich";
        var headline = "StudiVZ";
        var image = "./imgs/mailbar.png";
       
       
        //Parser
        var els = document.getElementById("browser").firstChild.contentDocument.getElementsByTagName("div");
        var elsLen = els.length;
        //Searchpattern
        var pattern = new RegExp("(^|\\s)content_box02(\\s|$)");
        var i = 0;
        while (i < elsLen) {
          if(pattern.test(els[i].className)){
              //Box found - correct content?
              if(els[i].textContent.lastIndexOf("Dich") != -1){
                if(document.getElementById("studivz").firstChild.childNodes.length < 2)
                    document.getElementById("studivz").firstChild.innerHTML += "<li class='summary'>" + stringMessage + "</li>";
              }
              else if(document.getElementById("studivz").firstChild.childNodes.length > 1){
document.getElementById("studivz").firstChild.removeChild(document.getElementById("studivz").firstChild.lastChild);
              }
                 //Reset headline
                 document.getElementById("studivz").firstChild.firstChild.textContent = "StudiVZ";
              return document.getElementyById("studivz").offsetHeigth;
          }
          i++;     
        }
      document.getElementById("studivz").firstChild.firstChild.textContent = "StudiVZ";
    }
Zum Anpassen der LockBackground.html muss folgedes Codestück an die gewünschte Position zwischen die anderen Elemente der LockInfo Anzeige eingesetzt werden (Mail, Telefon, ...).

Code:
    <a href="javascript:document.getElementById('studivz').firstChild.firstChild.innerHTML = 'StudiVZ ...';document.getElementById('browserframe').contentDocument.location.reload()"><div id="studivz"><ul><li style='background-position: 0px 0px; background-repeat: no-repeat; background-image:url(imgs/mailbar.png); padding-left: 32px; padding-top: 4px; padding-bottom: 0px; height:17px;' class='header'>StudiVZ ...</li></ul><div id="browser" style="display:none"><iframe id="browserframe" onload="javascript:updateStudiVZ()" src="http://www.studivz.de" ></iframe>
    </div></div></a>
Die Position über dem Kalender bietet sich dazu an.


Roadmap:
- Das Laden der Website wird optimiert um den Traffic und die Ladedauer zu verringern.
- es wäre super, wenn jemand ein Icon dafür erstellen könnte - bisher wird das der Mail-Anzeige mitverwendet.

Abschließend ist zu sagen, dass diese Erweiterung auch wunderbar als Vorlage für ähnliche Vorhaben genutzt werden kann - sie zeigt im Ansatz die vielfältigen Möglichkeiten, die einem der LockScreen bieten kann. Für Fragen, Wünsche oder Probleme stehe ich hier im Thread oder per PN gern zur Verfügung.
 
Zuletzt bearbeitet von einem Moderator:

Casali

Ribston Pepping
Registriert
10.03.06
Beiträge
302
Sehr gute Arbeit.

Ich habe mal eine Studi.VZ-Leiste erstellt. Vllt. willst du sie ja in deinem Script einsetzen.
 

Anhänge

  • svzbar.png
    svzbar.png
    1 KB · Aufrufe: 276
  • Like
Reaktionen: Rysk

Rysk

Jerseymac
Registriert
21.10.07
Beiträge
457
Vielen Dank ;)

Wir selbstverständlich verwendet.
 

Staff

Jonagold
Registriert
10.05.09
Beiträge
19
okay, hab alles gemacht, was du da geschrieben hast.
hab auch lockbackround.info geändert und das "meinvz" wird angezeigt. nur sonst nichts mehr. kein calender, kein wetter usw.
was hab ich falsch gemacht?

<html>
<head>
<base href="Private/"/>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<script src="settings.js" type="text/javascript"></script>
<script src="js/lockinfo.js" type="text/javascript"></script>
<link rel="stylesheet" type="text/css" href="css/lockinfo.css" />
</head>
<body>
<div id="background">
<div onclick="expandWeather();" id="weather" style="display:none;">
<div id="forecast_header"><img id="weatherIcon" src="Weather/Icon Sets/none.png"/><span id="cityC"><span id="city"></span>:</span><span id="temp"></span> <span id="desc"></span></div>
<div id="Forecast">
<div>
<div id="day0" ></div>
<div id="day1" ></div>
<div id="day2" ></div>
<div id="day3" ></div>
<div id="day4" ></div>
<div id="day5" ></div>
</div>
<div>
<div id="icon0" ><img id="wIcon0" src="Weather/Icon Sets/none.png"/></div>
<div id="icon1" ><img id="wIcon1" src="Weather/Icon Sets/none.png"/></div>
<div id="icon2" ><img id="wIcon2" src="Weather/Icon Sets/none.png"/></div>
<div id="icon3" ><img id="wIcon3" src="Weather/Icon Sets/none.png"/></div>
<div id="icon4" ><img id="wIcon4" src="Weather/Icon Sets/none.png"/></div>
<div id="icon5" ><img id="wIcon5" src="Weather/Icon Sets/none.png"/></div>
</div>
<div>
<div id="temp0"><div id="hi0" ></div><div id="low0" ></div></div>
<div id="temp1"><div id="hi1" ></div><div id="low1" ></div></div>
<div id="temp2"><div id="hi2" ></div><div id="low2" ></div></div>
<div id="temp3"><div id="hi3" ></div><div id="low3" ></div></div>
<div id="temp4"><div id="hi4" ></div><div id="low4" ></div></div>
<div id="temp5"><div id="hi5" ></div><div id="low5" ></div></div>
</div>
</div>
</div>
<div id="calls"></div>
<div id="voicemail"></div>
<div id="sms"></div>
<div id="mail"></div>
<a href="javascript:document.getElementById('meinvz').firstChild.firstChild.innerHTML = 'meinVZ ...';document.getElementById('browserframe').contentDocument.location.reload()"><div id="meinvz"><ul><li style='background-position: 0px 0px; background-repeat: no-repeat; background-image:url(imgs/svzbar.png); padding-left: 32px; padding-top: 4px; padding-bottom: 0px; height:17px;' class='header'>meinVZ ...</li></ul><div id="browser" style="display:none"><iframe id="browserframe" onload="javascript:updatemeinVZ()" src="http://www.meinvz.de" ></iframe>
</div></div></a>
<div onclick="expandCalendar();" id="calendar"></div>
<div id="bottombar"><ul><li class='header'></li></ul></div>
</div>
<script type="text/javascript">
updateCalendar(json);
updateMail(mail);
</script>
</body>
</html>



kann mir das evtl einer berichtigen oder noch besser - erklären?? hab null ahnung von html.



danke
 

Rysk

Jerseymac
Registriert
21.10.07
Beiträge
457
Sah schon garnicht so schlecht aus, aber du darfst nicht stur alles verändern, dann gehts nicht mehr. Probier mal diese 2 Schnippsel. Sind ungetestet, aber nach bestem Wissen und Gewissen. Einfügen wies im ersten Post beschrieben war.

Code:
    function updateStudiVZ(){
        /*StudiVZ Notifier 0.9 by [Klarname entfernt]
       
          [E-Mail entfernt]
         
          Loads the mobile-page of StudiVZ in a non-visible
          iframe and parses the welcome page for the "New Message"-hint.
         
          11.April 2009
       
        */

        //Configurations
        var stringMessage = "Post f&uuml;r Dich";
        var headline = "StudiVZ";
        var image = "./imgs/mailbar.png";
       
       
        //Parser
        var els = document.getElementById("browser").firstChild.contentDocument.getElementsByTagName("div");
        var elsLen = els.length;
        //Searchpattern
        var pattern = new RegExp("(^|\\s)content_box02(\\s|$)");
        var i = 0;
        while (i < elsLen) {
          if(pattern.test(els[i].className)){
              //Box found - correct content?
              if(els[i].textContent.lastIndexOf("Dich") != -1){
                if(document.getElementById("studivz").firstChild.childNodes.length < 2)
                    document.getElementById("studivz").firstChild.innerHTML += "<li class='summary'>" + stringMessage + "</li>";
              }
              else if(document.getElementById("studivz").firstChild.childNodes.length > 1){
document.getElementById("studivz").firstChild.removeChild(document.getElementById("studivz").firstChild.lastChild);
              }
                 //Reset headline
                 document.getElementById("studivz").firstChild.firstChild.textContent = "meinVZ";
              return document.getElementyById("studivz").offsetHeigth;
          }
          i++;     
        }
      document.getElementById("studivz").firstChild.firstChild.textContent = "meinVZ";
    }
Zum Anpassen der LockBackground.html muss folgedes Codestück an die gewünschte Position zwischen die anderen Elemente der LockInfo Anzeige eingesetzt werden (Mail, Telefon, ...).

Code:
    <a href="javascript:document.getElementById('studivz').firstChild.firstChild.innerHTML = 'meinVZ ...';document.getElementById('browserframe').contentDocument.location.reload()"><div id="studivz"><ul><li style='background-position: 0px 0px; background-repeat: no-repeat; background-image:url(imgs/mailbar.png); padding-left: 32px; padding-top: 4px; padding-bottom: 0px; height:17px;' class='header'>meinVZ ...</li></ul><div id="browser" style="display:none"><iframe id="browserframe" onload="javascript:updateStudiVZ()" src="http://www.meinvz.de" ></iframe>
    </div></div></a>
Die Position über dem Kalender bietet sich dazu an.
 
Zuletzt bearbeitet von einem Moderator:

Staff

Jonagold
Registriert
10.05.09
Beiträge
19
mmmh...

hä? na das ist doch das was ich gemacht habe, oder nicht? ich hab meinvz und nicht studivz.
wie gesagt. meinvz bekomm ich auch angezeigt, nur eben sonst nix mehr!
habs gerade nochmal aktualisiert. bekomme zwar meinvz angezeigt, aber es zeigt keine neue post an. mist!!! ich mal mal einen screenshot...

ich lass das mit dem screenshot besser. nicht mal das hochladen klappt im moment.

also meine lockinfo.js schaut so aus:

// Language will be selected automatically however you can force one of these languages
// {'zh','nl','en','fr','de','it','pt','es','cs'}
// var lang = 'de';

//If you use the scroll option of Lock Info Extension set this to true
var scrollable = true;

//Enable/Disable Expansion
var expand = true;


//Enable Weather (For more settings go to Weather/configureMe.js)
var enableWeather = true;//true|false
var locale = 'Rimpar, DE';//"OCN|AU|VIC|MELBOURNE" //"ASI|PH|RP077|MAKATI" //e.g. 'Defiance, Ohio'|'Moscow, Russia'|'Ledyard, AT'|'London, UK'MAKATI" //e.g. 'Defiance, Ohio'|'Moscow, Russia'|'Ledyard, AT'|'London, UK'
// Set to 'false' if you'd prefer Farenheit
var isCelsius = true; //true|false
var expandWeather = true;//Allow weather shrinking/stretching
var weatherDefState = 'shrinked';//Default state shrinked or stretched

//Group all emails (no per account separation)
var groupMails = false;

//Count of mails maximal shown as preview per account
var maxMailCount = "3";
//Same as above, but for expanded mail view
var maxMailCountExpanded = "10";

//Group all events (no per day separation)
var groupEvents = false;

//Count of calendar events maximal shown
var maxCalCountMini = "3";
//Same as above, but for expanded calendar view
var maxCalCountExpanded = "10";

//Only events within the next 14 days will be shown by default. Change the ammount of days here.
var showEventsForDaysMini = "1";
//Same as above, but for the expanded calendar view
var showEventsForDaysExpanded = "6";

//Display special icon for birthdays
var showBirthdays = true;

function updatemeinVZ(){
/*meinVZ Notifier 0.9 by [Klarname entfernt]

[E-Mail entfernt]

Loads the mobile-page of meinVZ in a non-visible
iframe and parses the welcome page for the "New Message"-hint.

11.April 2009

*/

//Configurations
var stringMessage = "Post f&uuml;r Dich";
var headline = "meinVZ";
var image = "./imgs/mailbar.png";


//Parser
var els = document.getElementById("browser").firstChild.contentDocument.getElementsByTagName("div");
var elsLen = els.length;
//Searchpattern
var pattern = new RegExp("(^|\\s)content_box02(\\s|$)");
var i = 0;
while (i < elsLen) {
if(pattern.test(els.className)){
//Box found - correct content?
if(els.textContent.lastIndexOf("Dich") != -1){
if(document.getElementById("meinvz").firstChild.childNodes.length < 2)
document.getElementById("meinvz").firstChild.innerHTML += "<li class='summary'>" + stringMessage + "</li>";
}
else if(document.getElementById("studivz").firstChild.childNodes.length > 1){
document.getElementById("studivz").firstChild.removeChild(document.getElementById("meinvz").firstChild.lastChild);
}
//Reset headline
document.getElementById("meinvz").firstChild.firstChild.textContent = "meinVZ";
return document.getElementyById("meinvz").offsetHeigth;
}
i++;
}
document.getElementById("meinvz").firstChild.firstChild.textContent = "meinVZ";



und meine LockBackround.html so:

<html>
<head>
<base href="Private/"/>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<script src="settings.js" type="text/javascript"></script>
<script src="js/lockinfo.js" type="text/javascript"></script>
<link rel="stylesheet" type="text/css" href="css/lockinfo.css" />
</head>
<body>
<div id="background">
<div onclick="expandWeather();" id="weather" style="display:none;">
<div id="forecast_header"><img id="weatherIcon" src="Weather/Icon Sets/none.png"/><span id="cityC"><span id="city"></span>:</span><span id="temp"></span> <span id="desc"></span></div>
<div id="Forecast">
<div>
<div id="day0" ></div>
<div id="day1" ></div>
<div id="day2" ></div>
<div id="day3" ></div>
<div id="day4" ></div>
<div id="day5" ></div>
</div>
<div>
<div id="icon0" ><img id="wIcon0" src="Weather/Icon Sets/none.png"/></div>
<div id="icon1" ><img id="wIcon1" src="Weather/Icon Sets/none.png"/></div>
<div id="icon2" ><img id="wIcon2" src="Weather/Icon Sets/none.png"/></div>
<div id="icon3" ><img id="wIcon3" src="Weather/Icon Sets/none.png"/></div>
<div id="icon4" ><img id="wIcon4" src="Weather/Icon Sets/none.png"/></div>
<div id="icon5" ><img id="wIcon5" src="Weather/Icon Sets/none.png"/></div>
</div>
<div>
<div id="temp0"><div id="hi0" ></div><div id="low0" ></div></div>
<div id="temp1"><div id="hi1" ></div><div id="low1" ></div></div>
<div id="temp2"><div id="hi2" ></div><div id="low2" ></div></div>
<div id="temp3"><div id="hi3" ></div><div id="low3" ></div></div>
<div id="temp4"><div id="hi4" ></div><div id="low4" ></div></div>
<div id="temp5"><div id="hi5" ></div><div id="low5" ></div></div>
</div>
</div>
</div>
<div id="calls"></div>
<div id="voicemail"></div>
<div id="sms"></div>
<div id="mail"></div>
<a href="javascript:document.getElementById('meinvz').firstChild.firstChild.innerHTML = 'meinVZ ...';document.getElementById('browserframe').contentDocument.location.reload()"><div id="meinvz"><ul><li style='background-position: 0px 0px; background-repeat: no-repeat; background-image:url(imgs/svzbar.png); padding-left: 32px; padding-top: 4px; padding-bottom: 0px; height:17px;' class='header'>meinVZ ...</li></ul><div id="browser" style="display:none"><iframe id="browserframe" onload="javascript:updatemeinVZ()" src="http://www.meinvz.de" ></iframe>
</div></div></a>
<div onclick="expandCalendar();" id="calendar"></div>
<div id="bottombar"><ul><li class='header'></li></ul></div>
</div>
<script type="text/javascript">
updateCalendar(json);
updateMail(mail);
</script>
</body>
</html>
 
Zuletzt bearbeitet von einem Moderator:

Rysk

Jerseymac
Registriert
21.10.07
Beiträge
457
Nein, war nicht exakt das selbe, aber scheinbar gibts einen Unterschied zwischen meinVZ und studiVZ, so dass es sich nicht einfach so ummünzen lässt...

Dazu muss ich mir einen meinVZ Acc anlegen und mal testen. Wird aber heute nichts mehr...

EDIT: Schau nochmal genau hin. In deinem ersten Code-Abschnitt fehlen 8-9 Zeilen vor dem Ende noch ein paar Änderungen. Probier das mit den Aktualisierungen nochmal und poste, obs geht, bitte.
 

Staff

Jonagold
Registriert
10.05.09
Beiträge
19
ja aber warum ist dann das andere zeugs alles weg? hat doch damit nix zu tun oder?
 

Rysk

Jerseymac
Registriert
21.10.07
Beiträge
457
EDIT: Schau nochmal genau hin. In deinem ersten Code-Abschnitt fehlen 8-9 Zeilen vor dem Ende noch ein paar Änderungen. Probier das mit den Aktualisierungen nochmal und poste, obs geht, bitte.


Doch, indirekt. Sobald es einen Fehler gibt, "stürzt" das Script ab und zeigt nichts weiter an... Darum könnte das die Lösung sein.
 

Staff

Jonagold
Registriert
10.05.09
Beiträge
19
oh sorry mein fehler. hab das edit nicht gesehen. ich probiers gleich aus und poste dann das ergebnis
 

Staff

Jonagold
Registriert
10.05.09
Beiträge
19
mmh geht leider nur teilweise. seh jetzt alles, aber es zeigt mir keine neuen nachrichten an. was kann ich noch machen?
 

Rysk

Jerseymac
Registriert
21.10.07
Beiträge
457
Dann wird es wohl daran liegen, dass die meinVZ Seite nicht der Studi-Seite entspricht. Das schau ich mir morgen mal an, wenn ich mir dort nen Test-Acc gelegt hab.
 

deude

Jonathan
Registriert
07.10.08
Beiträge
82
jetzt möchte ich vll auch nochmal einen voschlag anmelden :D
Wäre sowas auch für facebook möglich?
Haben ja ebenfalls ne mobile Seite, bei Facebook gibt es ja ein "Benachrichtigungssystem", d.h. wenn jemand an deine Pinnwand schreibt oder meinen Status kommentiert, dann blinkt unten ein kleines Kästchen mit ner Zahl, die Anzahl der Benachrichtigungen, vll weisste was ich meine.
Nachrichten anzeigen wäre eher zweitrangig, es wäre genial, wenn die Anzahl der Benachrichtigungen und evtl. ne Vorschau anzeigbar wäre...meinst du da liese sich was machen?
 

Staff

Jonagold
Registriert
10.05.09
Beiträge
19
ich hab jetzt noch weng rumprobiert. benachrichtigung geht immer noch nicht. und außerdem bekomm ich jetzt das svzbar.png nicht mehr angezeigt. hab es extra runtergeladen und in der lockinfo.js eingefügt. ne zeitlang gings. jetzt nicht mehr. naja ich warte einfach mal auf morgen. danke aber schon mal.
 

Rysk

Jerseymac
Registriert
21.10.07
Beiträge
457
Nachrichten anzeigen wäre eher zweitrangig, es wäre genial, wenn die Anzahl der Benachrichtigungen und evtl. ne Vorschau anzeigbar wäre...meinst du da liese sich was machen?

Dann schau ich auch gleich mal für Facebook. Vlt. schaffs ich auch nachher im Zug.
 

Staff

Jonagold
Registriert
10.05.09
Beiträge
19
ja mach dir keinen stress. ich check das auch mit dem bild net. steht svzbar.png dort und das bild heißt auch so. wird aber das mailbar.png angezeigt. naja das bild ist ja zweitrangig. hauptsache die anzeige funktioniert erstmal.
 

deude

Jonathan
Registriert
07.10.08
Beiträge
82
jop genau, nur kein stress ;)

Beides, Nachrichten und Benachrichtigungen wären nartürlich der Oberhammer :D
Ich weiss ja ned, ob ich mit meinen eher grundlegenden Programmierkenntnissen behilflich sein kann...
 

Rysk

Jerseymac
Registriert
21.10.07
Beiträge
457
Ich kämpfe gerade mit dem dem Problem, dass meine Wallpaper.html immer im Lockscreen angezeigt wird. Die Lockscreen.html wird komplett ignoriert und anstelle des Wallpapers ist nichts - schwarzer Hintergrund im Homescreen also. Selbst ein Respring bringt nur manchmal eine Besserung. Ich hab noch nicht herausfinden können, woran _das_ nun wieder liegt. Eig. hatte ich nirgendwomit rumgebastelt. Jedenfalls zeigt er mir dadurch gerade keinerlei Infos auf dem Lockscreen an.

Jemand ein ähnliches Problem?
 

adjo

Erdapfel
Registriert
25.05.09
Beiträge
4
... habe das gleiche Problem. Hat jemand eine Lösung hierfür?