MySpace - Seifer's Auto Update!
By Seifer
—
Last update Jul 9, 2008
—
Installed
855 times.
// ==UserScript==
// @name MySpace - Seifer's Auto Update!
// @version 1
// @namespace Seifer - http://userscripts.org/users/33118
// @description Have your MySpace home page always up-to-date without refreshing it! Author: Seifer.
// @include http://home.myspace.com/index.cfm*fuseaction=user*
// @exclude *fuseaction=user.*
// @exclude *noupdate*
// ==/UserScript==
// ========= ADD FROM HERE ONWARDS TO YOUR SCRIPT =========
// This auto update-notification script was made by Seifer
// You can find it at http://userscripts.org/scripts/show/12193
// ========================================================
// === Edit the next four lines to suit your script. ===
scriptName='Myspace - Seifer's Auto Update!';
scriptId='29786';
scriptVersion=1;
scriptUpdateText='The initial release.';
// === Stop editing here. ===
var lastCheck = GM_getValue('lastCheck', 0);
var lastVersion = GM_getValue('lastVersion', 0);
var d = new Date();
var currentTime = Math.round(d.getTime() / 1000); // Unix time in seconds
if (parseInt(navigator.appVersion)>3) {
if (navigator.appName=="Netscape") {
winW = window.innerWidth;
winH = window.innerHeight;
}
if (navigator.appName.indexOf("Microsoft")!=-1) {
winW = document.body.offsetWidth;
winH = document.body.offsetHeight;
}
}
if (currentTime > (lastCheck + 86400)) { //24 hours after last check
GM_xmlhttpRequest({
method: 'GET',
url: 'http://userscripts.org/scripts/review/'+scriptId+'?format=txt',
headers: {'User-agent': 'Mozilla/4.0 (compatible) Greasemonkey','Accept': 'text/plain',},
onload: function(responseDetails) {
var text = responseDetails.responseText;
var onSiteVersion = text.substring(text.indexOf("scriptVersion=")+14,text.indexOf("\n",text.indexOf("scriptVersion="))-2);
var onSiteUpdateText = text.substring(text.indexOf("scriptUpdateText=")+18,text.indexOf("\n",text.indexOf("scriptUpdateText="))-3);
if(onSiteVersion > scriptVersion && onSiteVersion > lastVersion) {
GM_addStyle('#gm_update_alert {'
+' position: fixed;'
+' z-index:100000;'
+' top: '+((winH/2)-60)+'px;'
+' left: '+((winW/2)-275)+'px;'
+' width: 550px;'
+' height: 120px;'
+' background-color: yellow;'
+' text-align: center;'
+' font-size: 11px;'
+' font-family: Tahoma;'
+'}'
+'#gm_update_alert_buttons {'
+' position: relative;'
+' top: -5px;'
+' margin: 7px;'
+'}'
+'#gm_update_alert_button_close {'
+' position: absolute;'
+' right: 0px;'
+' top: 0px;'
+' padding: 3px 5px 3px 5px;'
+' border-style: outset;'
+' border-width: thin;'
+' z-index: inherit;'
+' background-color: #FF0000;'
+' color: #FFFFFF;'
+' cursor:pointer'
+'}'
+'#gm_update_alert_buttons span, #gm_update_alert_buttons span a {'
+' text-decoration:underline;'
+' color: #003399;'
+' font-weight: bold;'
+' cursor:pointer'
+'}'
+'#gm_update_alert_buttons span a:hover {'
+' text-decoration:underline;'
+' color: #990033;'
+' font-weight: bold;'
+' cursor:pointer'
+'}');
newversion = document.createElement("div");
newversion.setAttribute('id', 'gm_update_alert');
newversion.innerHTML = ''
+' <b>GreaseMonkey UserScript Update Notification</b><br>'
+' There is an update available for "'+scriptName+'" <br>'
+' You are currently running version '+scriptVersion+'. The newest version is '+onSiteVersion+'.<br>'
+' <br>'
+' <div id="gm_update_alert_button_close">'
+' Close</div>'
+' <b>What do you want to do?</b><br>'
+' <div id="gm_update_alert_buttons">'
+' <span id="gm_update_alert_button_showinfo"><a href="#">Show Update Info</a></span> '
+' <span id="gm_update_alert_button_scripthome"><a target="_blank" href="http://userscripts.org/scripts/show/'+scriptId+'">Go To Script Homepage</a></span> '
+' <span id="gm_update_alert_button_upgrade"><a href="http://userscripts.org/scripts/source/'+scriptId+'.user.js">Upgrade to version '+onSiteVersion+'</a></span> '
+' <span id="gm_update_alert_button_wait"><a href="#">Don't remind me again until tomorrow</a></span> '
+' <span id="gm_update_alert_button_waitnextversion"><a href="#">Don't remind me again until the next new version</a></span> </div>';
document.body.insertBefore(newversion, document.body.firstChild);
document.getElementById('gm_update_alert_button_showinfo').addEventListener('click', function(event) {alert(onSiteUpdateText);}, true);
document.getElementById('gm_update_alert_button_wait').addEventListener('click', function(event) {GM_setValue('lastCheck', currentTime);alert("You will not be reminded again until tomorrow.");document.body.removeChild(document.getElementById('gm_update_alert'));}, true);
document.getElementById('gm_update_alert_button_waitnextversion').addEventListener('click', function(event) {GM_getValue('lastVersion', onSiteVersion);alert("You will not be reminded again until the next new version is released.");document.body.removeChild(document.getElementById('gm_update_alert'));}, true);
document.getElementById('gm_update_alert_button_close').addEventListener('click', function(event) {document.body.removeChild(document.getElementById('gm_update_alert'));}, true);
}
}
});
}
// Re-Create missing updates block (THANKS InsaneNinja!)
if (!$('updates') && $('userdisplay'))
{
updates_div = document.createElement('div');
updates_div.setAttribute('id','updates')
updates_div.setAttribute('class','module')
updates_div.setAttribute('style','display: none;');
$('userdisplay').parentNode.insertBefore(updates_div, $('userdisplay').nextSibling);
}
myframe = document.createElement('iframe');
myframe.setAttribute('name','GM_updateframe');
myframe.setAttribute('id','GM_updateframe');
myframe.setAttribute('style','display:none;');
document.body.appendChild(myframe);
document.getElementById('GM_updateframe').src = 'http://home.myspace.com/index.cfm?noupdate&fuseaction=user';
window.gm_UpdatePage = function(cycles) {
document.getElementById('friendStatuses').innerHTML = document.getElementById('GM_updateframe').contentDocument.getElementById('friendStatuses').innerHTML;
document.getElementById('bulletins').innerHTML = document.getElementById('GM_updateframe').contentDocument.getElementById('bulletins').innerHTML;
document.getElementById('friendUpdate').innerHTML = document.getElementById('GM_updateframe').contentDocument.getElementById('friendUpdate').innerHTML;
document.getElementById('userdisplay').innerHTML = document.getElementById('GM_updateframe').contentDocument.getElementById('userdisplay').innerHTML;
document.getElementById('friendspace').innerHTML = document.getElementById('GM_updateframe').contentDocument.getElementById('friendspace').innerHTML;
if(document.getElementById('GM_updateframe').contentDocument.getElementById('updates'))
{
document.getElementById('updates').innerHTML = document.getElementById('GM_updateframe').contentDocument.getElementById('updates').innerHTML;
var a =document.getElementById('updates').innerHTML;
if(a.indexOf('New') > -1)
{
document.getElementById('updates').setAttribute('style','display: block;');
a = a.match(/New [A-z\s]+!/g).join().replace(/(New |[^A-Z,])/g,'') + '!'; document.title = 'MySpace - ' + a;
} else {
document.getElementById('updates').setAttribute('style','display: none;');
document.title = 'MySpace Home';
}
} else {
document.getElementById('updates').innerHTML = '';
document.getElementById('updates').setAttribute('style','display: none;'); document.title = 'MySpace Home';
}
document.getElementById('GM_updateframe').src = 'about:blank';
document.getElementById('GM_updateframe').src = 'http://home.myspace.com/index.cfm?noupdate&fuseaction=user';
}
window.cycles=0;
window.gm_UpdateTimer = function() { setTimeout(gm_UpdateTimer, 60000); window.gm_UpdatePage(window.cycles++);}
setTimeout(gm_UpdateTimer, 60000);
////////////////////////////////
// Create script link-back (Concept by InsaneNinja)
//
if (!$('GM_Script_Links')) { var gsl = document.createElement('p'); gsl.setAttribute('id','GM_Script_Links');
if ($('col1')) $('col1').appendChild(gsl); GM_addStyle('#GM_Script_Links a {display:block;color:#CCC!important;}') }
GM_addStyle('#GM_Script_Links { text-align: center }');
$('GM_Script_Links').innerHTML += '<a href="http://userscripts.org/scripts/show/29786">GM - Seifer's Auto Update!</a>';
//
// To check for this script use.....
// if ($('GM_Script_Links') && $('GM_Script_Links').innerHTML.match('scripts/show/29786">GM')) { }
////////////////////////////////
function getAtt(elementId,att) { if(document.getElementById(elementId)) { return document.getElementById(elementId).getAttribute(att); } else { return false; } }
function removeElement(elementId) { if(document.getElementById(elementId )) { document.getElementById(elementId).setAttribute('style','display:none'); return true; } else { return false; } }
function $(elementId) { return document.getElementById(elementId); } // shortcut from "Prototype Javascript Framework"
function $$(elementName) { return document.getElementsByName(elementName); }