The short version; Somewhere the 90ies, some researches had an idea about how little applications could be embedded in
in webpages. You might know these little applications as ActiveX, Flash, Java-Applets, ...
Guess what, there's a patent on it ...
Eolas
What is Eolas exactly? Why? How can you defeat it?
What is Eolas?
The Web Application Platform
Inventors: Michael D. Doyle, David C. Martin and Cheong Ang
U.S. Patent 5,838,906, Filed in October, 1994, Issued November 17, 1998 (the "'906 Patent").
Distributed hypermedia method for automatically invoking external application providing interaction and display of embedded objects within a hypermedia document
Inventors: Michael D. Doyle, David C. Martin and Cheong Ang
U.S. Patent 5,838,906, Filed in October, 1994, Issued November 17, 1998 (the "'906 Patent").
Distributed hypermedia method for automatically invoking external application providing interaction and display of embedded objects within a hypermedia document
This patent applies only for commercial products, that's why you have to activate these applications in Internet Explorer
and not in Firefox.
So as you might have noticed, it aren't the embedded objects themselfs ... but the way they are activated. They are
activated automaticly during the loading of the website ...
The long version; well there's no better way to describe it as you can find it on
Wikipedia
Stupid software patent you think?
I totally agree! Luckly there is a workaround ... okay there are MANY workarounds, but they are all build on the
same principle. It's all about EMBEDDED objects ... are you following me? EMBEDDED objects?! What if you didn't
embed them ... and loaded them from an external Javascript file? ... Makes you think hun?
Workaround A
The following script is the code that I've used on my previous portfolio (v9)
Frist create an external Javascript file called myflashmovie.js
Frist create an external Javascript file called myflashmovie.js
document.write("<object classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\"\n");
document.write("codebase=\"http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=5,0,42,0\"\n");
document.write("id=\"Movie1\" width=\"500\" height=\"300\">\n");
document.write("<param name=\"movie\" value=\"myflashmovie.swf\">\n");
document.write("<param name=\"menu\" value=\"false\">\n");
document.write("<param name=\"quality\" value=\"best\">\n");
document.write("<param name=\"wmode\" value=\"transparent\">\n");
document.write("<param name=\"bgcolor\" value=\"#CCCCCC\">\n");
document.write("<embed name=\"Movie1\" src=\"Movie1.swf\"\n");
document.write("menu=\"false\" quality=\"best\" wmode=\"transparent\" bgcolor=\"#CCCCCC\" swLiveConnect=\"true\"\n");
document.write("width=\"500\" height=\"300\"\n");
document.write("type=\"application/x-shockwave-flash\"\n");
document.write("pluginspage=\"http://www.macromedia.com/go/getflashplayer\"></embed>\n");
document.write("</object>\n");
document.write("codebase=\"http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=5,0,42,0\"\n");
document.write("id=\"Movie1\" width=\"500\" height=\"300\">\n");
document.write("<param name=\"movie\" value=\"myflashmovie.swf\">\n");
document.write("<param name=\"menu\" value=\"false\">\n");
document.write("<param name=\"quality\" value=\"best\">\n");
document.write("<param name=\"wmode\" value=\"transparent\">\n");
document.write("<param name=\"bgcolor\" value=\"#CCCCCC\">\n");
document.write("<embed name=\"Movie1\" src=\"Movie1.swf\"\n");
document.write("menu=\"false\" quality=\"best\" wmode=\"transparent\" bgcolor=\"#CCCCCC\" swLiveConnect=\"true\"\n");
document.write("width=\"500\" height=\"300\"\n");
document.write("type=\"application/x-shockwave-flash\"\n");
document.write("pluginspage=\"http://www.macromedia.com/go/getflashplayer\"></embed>\n");
document.write("</object>\n");
Place the following HTML code where you flash object should be loaded.
<script type="text/javascript" src="myflashmovie.js"></script>
Workaround B
This one is a bit harder or easier, but it's shorter for sure! It could be handy if your webpage containes
more than one interactive object like 2 flash object, an java applet, etc ...
Create an external Javascript file called eolas.js
Create an external Javascript file called eolas.js
theObjects = document.getElementsByTagName("object");
for (var i = 0; i < theObjects.length; i++) {
theObjects[i].outerHTML = theObjects[i].outerHTML;
}
for (var i = 0; i < theObjects.length; i++) {
theObjects[i].outerHTML = theObjects[i].outerHTML;
}
Place the following HTML code where you flash object should be loaded.
<script type="text/javascript" src="eolas.js"></script>