It takes me too much time but I solved my problem: I started with a blank html page and I added element after element until I rebuilt my entire initial page! Weird is not it ? No difference at all in content!
However (thanks to livehttpheaders) the html page was served with text/html as content-type while the original (defectuous page) was served with text/xml. I change its type to text/html and it now works! Morality: jQuery fails to create an iframe in an xml page! Much of jQuery works though.