futtta's blog

Frank Goossens' Twitterless twaddle

Fix iframe-positioning problem with frameMagic.js

without comments

A short followup on my previous post about iframes; as I happen to like simple drop-in solutions, I updated the javascript that handles the ‘blank 2nd page in an iframe bug’ to automagically work upon inclusion in the html.

So if you happen to have problems with the positioning of 2nd (or later) pages in iframes (due to the top part of the iframe not being visible in the ‘viewport’), just upload frameMagic.js to your webserver and add the following to the head of your html to ease your iframe-blues;

<script type="text/javascript" src="path/to/frameMagic.js"></script>

Optionally you can specify which iframes are to be treated this way (excluding the other ones) by doing

<script type="text/javascript">
var fM_conf="iFrame1,iFrame3";
</script>

You can find more information and examples on http://futtta.be/frameMagic.

Written by frank

March 9th, 2010 at 4:20 pm

As found on the web (March 9th)

without comments

generic (feed #49)
blog (feed #46)
facebook (feed #40)
Frank mobistar adsl kaput (een kink in belgacoms koperdraad?), wilde android’s "mobile connection sharing" gebruiken om op m’n winxp laptop naar buiten te gaan, maar dat zou te makkelijk geweest zijn, niet? inderdaad: windows kan geen dns resolven, dus surf ik via een socks-proxy over de ssh-verbinding met m’n linux vps-machine. of samengevat: mobistar (be) -> france telecom (fr) -> hosteurope (de) -> facebook (usa).
blog (feed #46)
generic (feed #49)
generic (feed #49)
generic (feed #49)
youtube (feed #48)

Written by frank

March 9th, 2010 at 12:01 pm

Posted in web wandering

electro-jazz-folk: Bibio hartje Pentangle

without comments

Ge zou het misschien niet geloven, maar ik luister niet alleen naar Gilles Peterson. Akkoord, de man draait mooie plaatjes en toen ik in de aflevering van afgelopen zondag Ali Farka Touré hoorde, was ik weer totaal overtuigd van het genie van Mr. Brownswood. Maar ik mag niet zo overdrijven, mensen hebben dat niet graag, zo van die blinde idolatrie.

Dus nee, deze blogpost gaat echt niet over Gilles Peterson. Als ik niet in een eindeloze loop naar GP’s Worldwide luister, stem ik dikwijls af op KCRW, een radiostation uit California, USA. En wat ik daar hoorde heeft me blij gemaakt;

Bovenstaand YouTubeken is “Ambivalence Avenue” van Bibio (zie ook z’n myspace pagina), artiestennaam van de Brit Stephen Wilkinson, die iets geloofwaardig met electro en folk doet. Ge moet maar eens rondsnuisteren op YouTube, hij heeft zo nog leuke melodietjes.

Het zal wel iets met het grondwater of met Stonehenge te maken hebben, maar Bibio’s vernieuwingsdrang is niet nieuw. Eind jaren ‘60 begin jaren ‘70 bijvoorbeeld, deden Terry Cox, Bert Jansch, Jacqui McShee, John Renbourn en Danny Thompson samen prachtige dingen met jazz, folk en blues. En nu ik zo geheel toevalligerwijze aan Pentangle (want zo heette hun groep) heb, ben ik ervan overtuigd; Bibio is ook een fan en onderstaande “Light Flight” heeft hem diep geraakt;

Written by frank

March 5th, 2010 at 7:33 am

5 tips to tackle the problem with iframes

with 2 comments

Iframes have always been frowned upon by web-purists (confession: myself included). But things are never black and white and sometimes iframes can be the best solution for a problem (you could substitute “‘iframes” with “Flash” in the previous 2 sentences, but that’s another discussion). So here are 5 quick tips which might lessen some of the SEO- and usability-problems associated with the use of iframes;

1. Google loves doesn’t hate iframes done right!

Although Google is rather vague about the subject, iframes and SEO do not have to be mutually exclusive. But you will have to make sure it’s your main page that shines in search results, not the iframe-content. The main page (where the iframes are defined) has to be more then a mere placeholder for one or more iframes. Migrate as much information (titles, description and other text) from the iframe-content to your main page, which should describe what goes on in the iframe(s). Use the iframe title-property and insert alternative content between opening and closing iframe-tags. A quick example:

<h2>Calculate your mortgage rate</h2>
<p>Calculating your mortgage rate was never easier; just enter the loan-amount and the duration below!</p>
<iframe src=”http://page.url/iframe-container-page1″ …  title=”Calculate your mortgage rate here”>Your browser does not seem to handle frames properly, but you can calculate your mortgage rate <a href=”http://page.url/iframe-container-page1″>here</a></iframe>

2. Own the stage

Avoid visitors viewing the iframe-content out of the context of the main page (e.g. because they followed a link in search-results). Add javascript to the iframe-content to check if it is accessed stand-alone and redirect to the main page (or explain and provide link to the main page) if that is the case.

if(self.location==top.location) top.location.replace('http://contain.er/page-url/here');

3. Don’t draw blanks

When a visitor clicks a link at the bottom of a long page inside an iframe and the target is a shorter page inside the same iframe, then he/she will see a blank page which is … well not very usable, no? The (hackety-hack) solution; tell the browser to scroll to the top of the iframe each time a new page in it is loaded, by calling the function below (with the iframe id as parameter) when the iframe’s onLoad event fires:

<script>
var firstrun = new Object();
function frameMagic(el) {
if (typeof firstrun[el] === ‘undefined’) { firstrun[el]=true; }
else { document.getElementById(el).scrollIntoView(); }
}
</script>
<iframe id=”iframe” onLoad=”frameMagic(‘iframe’);”>

4. Your users really do need scrolling=”auto”!

Help your visitors access all iframe content no matter what configuration they’re using: don’t disable the iframe scrollbars! Disabling them will render the iframe partially inaccessible for some of your users, because the size your iframe-content needs depends on things outside your control such as operating system & versions (e.g. font & screen resolution), browser (e.g. css-implementation) and browser configuration (e.g. non-default font-size). Instead define a reasonable iframe-width and height, make the iframe-content width flexible (fluid) and let the browser decide if a vertical scrollbar is needed.

5. Smart sizing without scrollbars

If you really really really don’t want scrollbars, if you want your iframe to adapt to the size needed by the iframe-content automatically and if you’re not afraid to experiment; there are some nifty javascript-solutions that allow the iframe-content to communicate the required height to the main page. Check out Framemanager (stand-alone, has some issues though) and the JQuery-postmessage iframe-example (which does everything in javascript, which isn’t really ideal from an accessibility point of view).

Conclusion: iframes aren’t necessarily evil (either), but you’ll have to make a small effort to render them somewhat SEO- and user-friendly.

Written by frank

March 3rd, 2010 at 3:53 pm

As found on the web (March 2nd)

without comments

Written by frank

March 2nd, 2010 at 12:03 pm

Posted in web wandering

Hollandse trauma’s

with 4 comments

Ik ben een Hollander. Daar, nu weet ge het allemaal; Getuige van Jehova, gewetensbezwaarde en nu ook nog Hollander! Het is allemaal de fout van de vrouwen in m’n stamboom. Zowel m’n moeder als grootmoeder langs vaders kant kwamen van over de grens, uit gehuchtjes in Zeeuws-Vlaanderen. Zeeuws-Vlaanderen, alsof dat iets zou goedmaken. Niet dus, zeker niet voor de klasgenootjes in de Gemeentelijke Lagere School Blaasveld (Willebroek). Want ook al was m’n vader Belg en hadden zowel m’n moeder als m’n grootmoeder de nationaliteit verworven door met zo’n domme Belg te trouwen, dan nog vonden die speelplaats-treiteraars dat ik een Hollander was. Ik had het vuile plaatselijke dialect immers niet onder de knie en sprak iets wat toen nog ABN heette en dat hen ongetwijfeld als “Algemeen Bekakt Nederlands” in de oren klonk. Dus ik was een vuile Hollander.

Dat alles om maar te zeggen dat ik recht van spreken heb, als het over Hollandse taalgevoeligheden gaat. Want ik heb me gisteren ongelofelijk zitten ergeren. M’n vrouw heeft me verplicht om “De eenzaamheid van de priemgetallen” van Paolo Giordano te lezen. Aangezien Paolo een Italiaan is, heeft hij die titel niet zelf in het het Nederlands gezet. Nee, Mieke Geuzebroek en Pietha De Voogd hebben dat voor hem vertaald, daarin aangemoedigd door het (Nederlands) Fonds voor de Letteren.  En Mieke en Pietha, dat zijn dus Hollandse meiden. Echte Nederlanders, geen drie-kwartjes zoals ik. Dat leid ik alleszins af uit hun bijwijlen tenenkrullende vertaling. Want Mieke en Pietha; als Alice “in haar broek poept” en een pagina later “de gore derrie naar beneden voelt lopen”, dan knapt er iets in mijn getraumatiseerd taalgevoel-orgaan. Poepen is lekker, derrie bestaat niet en Goor is een voetballer of wielrenner, ik wil ervan af zijn. En als Mattia naar een partijtje mag in hoofdstuk 2, gaat dat dan over D66 of de ChristenUnie?

Versta me niet verkeerd, het is een mooi boek -beetje dramatisch misschien- en de vertaling leest verder best wel vlot. Maar ik wou dat ik een Italiaan was, of tenminste voldoende Italiaans verstond om het origineel te lezen. Of dat ik dan toch een echte Hollander was, want dan zou ik ook niks gemerkt hebben?

Written by frank

February 26th, 2010 at 1:25 pm

As found on the web (February 23rd)

without comments

Written by frank

February 23rd, 2010 at 12:01 pm

Posted in web wandering