拥有 name 的属性的对象,你在createElement()时是不能后期再指定 name 的,所以你的
ifr.name = "ifr"; 是无效的代码,不信你可以把生成的HTML打出来看。
对于有 name 属性的对象创建的时候有一个比较变态的办法:
document.createElement("<IFRAME name=ifr></IFRAME>");
或者在页面加载过程中用 document.write() 写一个带 name 的 iframe