#Javascript
Javascript
You can stop any output destroying (most of) the window
object.
Also, you can't get rid of document
, but you can crush it's content every millisecond.
Here's what I came up with:
(function(window){
var html = document.getElementsByTagName('html')[0];
setInterval(function(){html.innerHTML='';}, 1);
window.addEventListener('error', function(){});
for(var k in window)
{
if(k!='location')
{
window[k]=window;
}
}
})(Function('return this')());
This sets every single object inside window
(except location
, it will reload the page) to be ... the window
object!!!
This will mess directly with the real window
: Running Function('return this')()
will return the this
object for that context. Since that is eval
'ed code, it will be the ... window
object!
This also catches all exceptions by setting an handler on window
, before deleting everything.
Also, we go grab the <html>
element and set it's innerHTML
to an empty string. This means that your output will work for less than a millisecond.
Your code is still executed. It just won't be able to show any output. Maybe you can create a file! If only the API wasn't destroyed...
Warning: This causes huge strain on your CPU and RAM. Run this at your own risk! It may cause overheating on your CPU and abnormal behaviour on your browser. It forces the code to run as many times as the browser can handle, in a second. This may cause a huge queue of functions to be executed, if it takes longer than the minimum time interval (which is 4ms for Firefox and Google Chrome (source provided by @somebody))
To stop the process, either run document.location=document.location
or press F5.
I am NOT responsible for ANY hardware or software damage or data loss caused by running this code.