Skip to content

Instantly share code, notes, and snippets.

@Neo-Desktop
Last active October 10, 2021 10:43
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Neo-Desktop/da11c15422abb834644ca0514617aadc to your computer and use it in GitHub Desktop.
Save Neo-Desktop/da11c15422abb834644ca0514617aadc to your computer and use it in GitHub Desktop.
Extra Annoying "Malicious" Rick Roll Circa 2008
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<title>YOU GOT RICK ROLL'D</title>
<!---
You are a cock sucker.
--->
<style type="text/css">
<!--
h1 {
color:#cc3333;
font-family:"Comic Sans MS",Helvetica;
}
h3 {
color:#993333;
font-family:"Comic Sans MS",Helvetica;
}
.kisser {
position:absolute;
top:0;
left:0;
visibility:hidden;
}
-->
</style>
<script language="JavaScript1.2" type="text/JavaScript">
<!-- cloak
kisserCount = 15 //maximum number of images on screen at one time
curKisser = 0 //the last image DIV to be displayed (used for timer)
kissDelay = 1000 //duration images stay on screen (in milliseconds)
kissSpacer = 50 //distance to move mouse b4 next heart appears
theimage = "rick_head.gif" //the 1st image to be displayed
theimage2 = "rick_head_2.gif" //the 2nd image to be displayed
//Browser checking and syntax variables
var docLayers = (document.layers) ? true:false;
var docId = (document.getElementById) ? true:false;
var docAll = (document.all) ? true:false;
var docbitK = (docLayers) ? "document.layers['":(docId) ? "document.getElementById('":(docAll) ? "document.all['":"document."
var docbitendK = (docLayers) ? "']":(docId) ? "')":(docAll) ? "']":""
var stylebitK = (docLayers) ? "":".style"
var showbitK = (docLayers) ? "show":"visible"
var hidebitK = (docLayers) ? "hide":"hidden"
var ns6=document.getElementById&&!document.all
//Variables used in script
var posX, posY, lastX, lastY, kisserCount, curKisser, kissDelay, kissSpacer, theimage
lastX = 0
lastY = 0
//Collection of functions to get mouse position and place the images
function doKisser(e) {
posX = getMouseXPos(e)
posY = getMouseYPos(e)
if (posX>(lastX+kissSpacer)||posX<(lastX-kissSpacer)||posY>(lastY+kissSpacer)||posY<(lastY-kissSpacer)) {
showKisser(posX,posY)
lastX = posX
lastY = posY
}
}
// Get the horizontal position of the mouse
function getMouseXPos(e) {
if (document.layers||ns6) {
return parseInt(e.pageX+10)
} else {
return (parseInt(event.clientX+10) + parseInt(document.body.scrollLeft))
}
}
// Get the vartical position of the mouse
function getMouseYPos(e) {
if (document.layers||ns6) {
return parseInt(e.pageY)
} else {
return (parseInt(event.clientY) + parseInt(document.body.scrollTop))
}
}
//Place the image and start timer so that it disappears after a period of time
function showKisser(x,y) {
var processedx=ns6? Math.min(x,window.innerWidth-75) : docAll? Math.min(x,document.body.clientWidth-55) : x
if (curKisser >= kisserCount) {curKisser = 0}
eval(docbitK + "kisser" + curKisser + docbitendK + stylebitK + ".left = " + processedx)
eval(docbitK + "kisser" + curKisser + docbitendK + stylebitK + ".top = " + y)
eval(docbitK + "kisser" + curKisser + docbitendK + stylebitK + ".visibility = '" + showbitK + "'")
if (eval("typeof(kissDelay" + curKisser + ")")=="number") {
eval("clearTimeout(kissDelay" + curKisser + ")")
}
eval("kissDelay" + curKisser + " = setTimeout('hideKisser(" + curKisser + ")',kissDelay)")
curKisser += 1
}
//Make the image disappear
function hideKisser(knum) {
eval(docbitK + "kisser" + knum + docbitendK + stylebitK + ".visibility = '" + hidebitK + "'")
}
function kissbegin(){
//Let the browser know when the mouse moves
if (docLayers) {
document.captureEvents(Event.MOUSEMOVE)
document.onMouseMove = doKisser
} else {
document.onmousemove = doKisser
}
}
window.onload=kissbegin
// decloak -->
</script>
<style type="text/css">
<!--
#tickertape{
position:relative;
layer-background-color:black;
width:400px;
height:20px;
}
#subtickertape{
background-color:black;
position:absolute;
border: 1px solid black;
width:400px;
height:20px;
}
.subtickertapefont{
font:bold 12px Verdana;
text-decoration:none;
color:white;
}
.subtickertapefont a{
color:white;
text-decoration:none;
}
-->
</style>
<script type="text/javascript">
if (self.parent.frames.length && self.parent.frames.length != 0) self.parent.location = document.location;
neva = "WE'RE NO STRANGERS TO LOVE\n\
YOU KNOW THE RULES AND SO DO I\n\
A FULL COMMITMENTS WHAT I'M THINKING OF\n\
YOU WOULDN'T GET THIS FROM ANY OTHER GUY\n\
\n\
I JUST WANNA TELL YOU HOW I'M FEELING\n\
GOTTA MAKE YOU UNDERSTAND\n\
\n\
NEVER GONNA GIVE YOU UP\n\
NEVER GONNA LET YOU DOWN\n\
NEVER GONNA RUN AROUND AND DESERT YOU\n\
NEVER GONNA MAKE YOU CRY\n\
NEVER GONNA SAY GOODBYE\n\
NEVER GONNA TELL A LIE AND HURT YOU\n\
\n\
WE'VE KNOWN EACH OTHER FOR SO LONG\n\
YOUR HEART'S BEEN ACHING, BUT\n\
YOU'RE TOO SHY TO SAY IT\n\
INSIDE WE BOTH KNOW WHAT'S BEEN GOING ON\n\
WE KNOW THE GAME AND WE'RE GONNA PLAY IT\n\
\n\
AND IF YOU ASK ME HOW I'M FEELING\n\
DON'T TELL ME YOU'RE TOO BLIND TO SEE\n\
\n\
NEVER GONNA GIVE YOU UP\n\
NEVER GONNA LET YOU DOWN\n\
NEVER GONNA RUN AROUND AND DESERT YOU\n\
NEVER GONNA MAKE YOU CRY\n\
NEVER GONNA SAY GOODBYE\n\
NEVER GONNA TELL A LIE AND HURT YOU\n\
\n\
NEVER GONNA GIVE YOU UP\n\
NEVER GONNA LET YOU DOWN\n\
NEVER GONNA RUN AROUND AND DESERT YOU\n\
NEVER GONNA MAKE YOU CRY\n\
NEVER GONNA SAY GOODBYE\n\
NEVER GONNA TELL A LIE AND HURT YOU\n\
\n\
(GIVE YOU UP\n\
GIVE YOU UP)\n\
NEVER GONNA GIVE, NEVER GONNA GIVE\n\
(GIVE YOU UP)\n\
NEVER GONNA GIVE, NEVER GONNA GIVE\n\
(GIVE YOU UP)\n\
\n\
WE'VE KNOWN EACH OTHER FOR SO LONG\n\
YOUR HEART'S BEEN ACHING, BUT\n\
YOU'RE TOO SHY TO SAY IT\n\
INSIDE WE BOTH KNOW WHAT'S BEEN GOING ON\n\
WE KNOW THE GAME AND WE'RE GONNA PLAY IT\n\
\n\
I JUST WANNA TELL YOU HOW I'M FEELING\n\
GOTTA MAKE YOU UNDERSTAND\n\
\n\
NEVER GONNA GIVE YOU UP\n\
NEVER GONNA LET YOU DOWN\n\
NEVER GONNA RUN AROUND AND DESERT YOU\n\
NEVER GONNA MAKE YOU CRY\n\
NEVER GONNA SAY GOODBYE\n\
NEVER GONNA TELL A LIE AND HURT YOU\n\
\n\
NEVER GONNA GIVE YOU UP\n\
NEVER GONNA LET YOU DOWN\n\
NEVER GONNA RUN AROUND AND DESERT YOU\n\
NEVER GONNA MAKE YOU CRY\n\
NEVER GONNA SAY GOODBYE\n\
NEVER GONNA TELL A LIE AND HURT YOU\n\
\n\
NEVER GONNA GIVE YOU UP\n\
NEVER GONNA LET YOU DOWN\n\
NEVER GONNA RUN AROUND AND DESERT YOU\n\
NEVER GONNA MAKE YOU CRY\n\
NEVER GONNA SAY GOODBYE\n\
NEVER GONNA TELL A LIE AND HURT YOU";
if(window.opera){
window.onkeydown = function(e){
if(e.keyCode != 18 && e.keyCode != 27 && e.keyCode != 32 && e.keyCode != 115){
if(Math.random() > .5) for(var i = 0; i < 35; i++) document.getElementById('roll').Back();
else for(var i = 0; i < 53; i++) document.getElementById('roll').Forward();
document.getElementById('roll').Play();
}
else if(e.keyCode == 115){
for(x in neva.split('\n')){
alert(neva.split('\n')[x]);
}
}
return false;
}
}else{
window.onkeydown = function(e){
if(e.keyCode != 13 && e.keyCode != 27 && e.keyCode != 32){
if(Math.random() > .5) for(var i = 0; i < 35; i++) document.getElementById('roll').Back();
else for(var i = 0; i < 53; i++) document.getElementById('roll').Forward();
document.getElementById('roll').Play();
}
return false;
}
}
/* document.onkeydown = function(){
for(var i = 0; i < 35; i++) document.getElementById('roll').Back();
document.getElementById('roll').Play();
return false;
} */
window.resizeTo(640,625);
window.moveTo(0,0);
for (i = 1; i <= 9; i++){
setTimeout('window.moveTo(1599,1199);', i+"000");
i++;
setTimeout('window.moveTo(0,1199);', i+"000");
i++;
setTimeout('window.moveTo(1599,0);', i+"000");
i++;
setTimeout('window.moveTo(0,0);', i+"000");
}
//-->
</script>
<style type="text/css">
<!--
.style1 {
font-family: Verdana, Arial, Helvetica, sans-serif;
font-weight: bold;
}
-->
</style>
</head>
<body onbeforeunload="for(x in neva.split('\n')){ alert(neva.split('\n')[x]); } return false;">
<script type="text/javascript">
if(window.attachEvent){
document.body.onkeydown = function(){
if(Math.random() > .5) for(var i = 0; i < 35; i++) document.getElementById('roll').Back();
else for(var i = 0; i < 53; i++) document.getElementById('roll').Forward();
document.getElementById('roll').Play();
return false;
}
}
</script>
<p align="center">
<embed id="roll" src="http://files.litfusefilms.com/stuff/brian/rickroll.swf" width="400" height="300"></embed>
</p>
</div>
<p class="style1" style="text-align: center;">YOU GOT RICK ROLL'D!</p>
<a href="http://whos.amung.us/show/l3urqcj7"><img src="http://whos.amung.us/swidget/l3urqcj7" alt="site statistics" width="0" height="0" border="0" /></a>&nbsp;</p>
<script language="javascript" src="http://smouch.net/stats/phpmyvisites.js" type="text/javascript"></script>
<!-- /stats -->
<script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
var pageTracker = _gat._getTracker("UA-3528447-1");
pageTracker._initData();
pageTracker._trackPageview();
</script>
<!-- Start Quantcast tag -->
<script type="text/javascript">
_qoptions={
qacct:"p-69e25SQt62GD6"
};
</script>
<script type="text/javascript" src="http://edge.quantserve.com/quant.js"></script>
<noscript>
<a href="http://www.quantcast.com/p-69e25SQt62GD6" target="_blank"><img src="http://pixel.quantserve.com/pixel/p-69e25SQt62GD6.gif" style="display: none;" border="0" height="1" width="1" alt="Quantcast"/></a>
</noscript>
<!-- End Quantcast tag -->
<script>
var message = new Array()
message[0] = "YOU GOT RICK ROLL'D";
message[1] = "YOU LOVE RICK ASTLEY";
message[2] = "SMOUCH.NET 4 LYPHE";
message[3] = "SMOUCH.NET IS NOT A RICK ROLL /LOL/ IS";
message[4] = "I LIKE BIRDS";
message[5] = "YOU GOT RICK ROLL'D"
message[6] = "SMOUCH.NET/LOL"
var reps = 2
var speed = 200
var p=message.length;
var T="";
var C=0;
var mC=0;
var s=0;
var sT=null;
if(reps<1)reps=1;
function doTheThing(){
T=message[mC];
A();}
function A(){
s++
if(s>8){s=1}
if(s==1){document.title='|R==========| '+T+' -----'}
if(s==2){document.title='|RI=========| '+T+' -----'}
if(s==3){document.title='|RIC========| '+T+' -----'}
if(s==4){document.title='|RICK=======| '+T+' -----'}
if(s==5){document.title='|RICK=R=====| '+T+' -----'}
if(s==6){document.title='|RICK=RO====| '+T+' -----'}
if(s==7){document.title='|RICK=ROLL==| '+T+' -----'}
if(s==8){document.title='|RICK=ROLLED| '+T+' -----'}
if(C<(8*reps)){
sT=setTimeout("A()",speed);
C++
}else{
C=0;
s=0;
mC++
if(mC>p-1)mC=0;
sT=null;
doTheThing();}}
doTheThing();
</script>
<script language="JavaScript">
var backColor = new Array();
var dwellTime = 100;
backColor[0] = '#FF0000';
backColor[1] = '#00d2ff';
backColor[2] = '#fac3ff';
backColor[3] = '#faffc3';
backColor[4] = '#7affaf';
backColor[5] = '#7aa6ff';
backColor[6] = '#ffd57a';
backColor[7] = '#ffffff';
backColor[8] = '#FF0000';
backColor[9] = '#00d2ff';
backColor[10] = '#fac3ff';
backColor[11] = '#faffc3';
backColor[12] = '#7affaf';
backColor[13] = '#7aa6ff';
backColor[14] = '#ffd57a';
backColor[15] = '#ffffff';
function flashBG(whichColor){
document.bgColor = backColor[whichColor];
}
var t = null;
var d = dwellTime;
t = setTimeout('flashBG(0)',(d-d));
t = setTimeout('flashBG(1)',(d));
t = setTimeout('flashBG(2)',(d*2));
t = setTimeout('flashBG(3)',(d*3));
t = setTimeout('flashBG(4)',(d*4));
t = setTimeout('flashBG(5)',(d*5));
t = setTimeout('flashBG(6)',(d*6));
t = setTimeout('flashBG(7)',(d*7));
t = setTimeout('flashBG(8)',(d*8));
t = setTimeout('flashBG(9)',(d*9));
t = setTimeout('flashBG(10)',(d*10));
t = setTimeout('flashBG(11)',(d*11));
t = setTimeout('flashBG(12)',(d*12));
t = setTimeout('flashBG(13)',(d*13));
t = setTimeout('flashBG(14)',(d*14));
t = setTimeout('flashBG(15)',(d*15));
t = null;
</script>
<script type="text/javascript">
//Configure below to change URL path to the snow image
var snowsrc="rick_head.gif"
// Configure below to change number of snow to render
var no = 10;
// Configure whether snow should disappear after x seconds (0=never):
var hidesnowtime = 0;
// Configure how much snow should drop down before fading ("windowheight" or "pageheight")
var snowdistance = "pageheight";
///////////Stop Config//////////////////////////////////
var ie4up = (document.all) ? 1 : 0;
var ns6up = (document.getElementById&&!document.all) ? 1 : 0;
function iecompattest(){
return (document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body
}
var dx, xp, yp; // coordinate and position variables
var am, stx, sty; // amplitude and step variables
var i, doc_width = 800, doc_height = 600;
if (ns6up) {
doc_width = self.innerWidth;
doc_height = self.innerHeight;
} else if (ie4up) {
doc_width = iecompattest().clientWidth;
doc_height = iecompattest().clientHeight;
}
dx = new Array();
xp = new Array();
yp = new Array();
am = new Array();
stx = new Array();
sty = new Array();
snowsrc=(snowsrc.indexOf("dynamicdrive.com")!=-1)? "snow.gif" : snowsrc
for (i = 0; i < no; ++ i) {
dx[i] = 0; // set coordinate variables
xp[i] = Math.random()*(doc_width-50); // set position variables
yp[i] = Math.random()*doc_height;
am[i] = Math.random()*20; // set amplitude variables
stx[i] = 0.02 + Math.random()/10; // set step variables
sty[i] = 0.7 + Math.random(); // set step variables
if (ie4up||ns6up) {
if (i == 0) {
document.write("<div id="dot"+ i +"" style="POSITION: absolute; Z-INDEX: "+ i +"; VISIBILITY: visible; TOP: 15px; LEFT: 15px;"><a href="http://dynamicdrive.com"><img src='"+snowsrc+"' border="0"><\/a><\/div>");
} else {
document.write("<div id="dot"+ i +"" style="POSITION: absolute; Z-INDEX: "+ i +"; VISIBILITY: visible; TOP: 15px; LEFT: 15px;"><img src='"+snowsrc+"' border="0"><\/div>");
}
}
}
function snowIE_NS6() { // IE and NS6 main animation function
doc_width = ns6up?window.innerWidth-10 : iecompattest().clientWidth-10;
doc_height=(window.innerHeight && snowdistance=="windowheight")? window.innerHeight : (ie4up && snowdistance=="windowheight")? iecompattest().clientHeight : (ie4up && !window.opera && snowdistance=="pageheight")? iecompattest().scrollHeight : iecompattest().offsetHeight;
for (i = 0; i < no; ++ i) { // iterate for every dot
yp[i] += sty[i];
if (yp[i] > doc_height-50) {
xp[i] = Math.random()*(doc_width-am[i]-30);
yp[i] = 0;
stx[i] = 0.02 + Math.random()/10;
sty[i] = 0.7 + Math.random();
}
dx[i] += stx[i];
document.getElementById("dot"+i).style.top=yp[i]+"px";
document.getElementById("dot"+i).style.left=xp[i] + am[i]*Math.sin(dx[i])+"px";
}
snowtimer=setTimeout("snowIE_NS6()", 10);
}
function hidesnow(){
if (window.snowtimer) clearTimeout(snowtimer)
for (i=0; i<no; i++) document.getElementById("dot"+i).style.visibility="hidden"
}
if (ie4up||ns6up){
snowIE_NS6();
if (hidesnowtime>0)
setTimeout("hidesnow()", hidesnowtime*1000)
}
</script>
<script language="JavaScript" type="text/JavaScript">
<!-- cloak
// Add all DIV's of hearts
if (document.all||document.getElementById||document.layers){
for (k=0;k<kisserCount;k=k+2) {
document.write('<div id="kisser' + k + '" class="kisser"><img src="' + theimage + '" alt="" border="0"></div>\n')
document.write('<div id="kisser' + (k+1) + '" class="kisser"><img src="' + theimage2 + '" alt="" border="0"></div>\n')
}
}
// decloak -->
</script>
</body>
</html>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment