Source code for bookmarklet Flex Tables.
javascript:
(function(){
function hasAttribute(e, a)
{
return e.hasAttribute(a);
}
var table_count = 0;
var rc = 0;
function rw(dt, el) {
var fs = dt.getElementsByTagName( el );
for (var i = 0, l = fs.length; i < l; ++i )
{
++table_count;
if ( hasAttribute(fs[i], "width") )
{
++rc;
fs[i].removeAttribute("width");
}
}
}
function eD(dt) {
rw( dt, "TABLE" );
rw( dt, "TD" );
}
// "dIr" == "documentIterator"
function dIr(dt, f) {
function ifsr( fs )
{
for (var i = 0; i < fs.length; ++i)
{
try {
dIr(fs[i].contentDocument, fs[i]); // recursive call
}
catch (e) {
alert(e || "Unspecified error");
}
}
}
if (dt == null) {return;}
eD(dt, f);
ifsr( dt.getElementsByTagName("FRAME") );
ifsr( dt.getElementsByTagName("IFRAME") );
}
// iterate through all documents
dIr(document, null);
var st = (table_count > 0) ? ("Widths removed: " + rc) : "No tables";
alert(st + ".");
}());