forked from moodle/moodle
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
MDL-8992 Added a simple script from http://mar.anomy.net/entry/2006/1…
…1/24/02.12.18/ to the mediaplugin filter output. Works like a charm on all tested browsers
- Loading branch information
nicolasconnault
committed
Nov 1, 2007
1 parent
8fc4526
commit 2f39c5e
Showing
2 changed files
with
83 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,80 @@ | ||
// Documentation & updates available at: | ||
// http://codecentre.eplica.is/js/eolasfix/test.htm | ||
|
||
(function( Eolas_Fixed, | ||
win, doc, | ||
getElementsByTagName, | ||
outerHTML, | ||
parentNode, | ||
tags, | ||
elmsToRemoveOnload, | ||
x, | ||
is_ie, | ||
y,z,elm,childNode,HTML,dummy,eolasfix) | ||
{ | ||
// run only once! | ||
if (win[Eolas_Fixed]) return; | ||
win[Eolas_Fixed] = 1; | ||
|
||
eolasfix = function () | ||
{ | ||
// for each tag name specified in Array t | ||
while (tags[++x]) | ||
{ | ||
// find all elements of that type in the document | ||
// loop through the elements | ||
y = 0; | ||
while (elm = doc[getElementsByTagName](tags[x])[y++]) | ||
{ | ||
if (is_ie) | ||
{ | ||
HTML = '>'; | ||
z = 0; | ||
// <param> elements don't show up in innerHTML IE | ||
// so we need to collect their outerHTML. | ||
while (childNode = elm.childNodes[z++]) | ||
HTML += childNode[outerHTML]; | ||
|
||
// create a 'dummy' element | ||
dummy = doc.createElement('i'); | ||
// inject it next to `elm`, | ||
elm[parentNode].insertBefore(dummy, elm); | ||
// and turn it into an `elm` clone | ||
dummy[outerHTML] = elm[outerHTML].replace(/>/, HTML); | ||
// increment y to skip over it | ||
y++; | ||
|
||
// then hide the original elm | ||
elm.style.display = 'none'; | ||
// and save it in 'The List of Elements to Remove Later'. | ||
elmsToRemoveOnload[elmsToRemoveOnload.length] = elm; | ||
} | ||
else | ||
{ | ||
elm[outerHTML] = elm[outerHTML]; | ||
} | ||
} | ||
} | ||
}; | ||
|
||
// For IE run the fix straight away (because the defer="defer" | ||
// attribute has delayed execution until the DOM has loaded). | ||
// Then assign a window.onload event to purge the old elements. | ||
is_ie && !eolasfix() && win.attachEvent('onload', function(){ | ||
x=0; | ||
while(elm = elmsToRemoveOnload[x++]) | ||
elm[parentNode].removeChild(elm); | ||
}); | ||
// For Opera set an `DOMContentLoaded` event to run the fix. | ||
win.opera && doc.addEventListener('DOMContentLoaded', eolasfix, 0); | ||
|
||
})( '__Eolas_Fixed', | ||
window, document, | ||
'getElementsByTagName', | ||
'outerHTML', | ||
'parentNode', | ||
['object','embed','applet'], | ||
[], | ||
-1 /*@cc_on,1 @*/ | ||
); | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters