跨浏览器HTML5的iFrame
问题描述:
现在我有一个无缝的属性,它看起来很完美的iFrame对象,跨浏览器HTML5的iFrame
<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fwww.google.com%2F&layout=standard&show_faces=false&width=400&action=like&colorscheme=light&height=35" seamless></iframe>
与一对夫妇的CSS属性
iframe {
overflow: hidden !important;
border: none !important;
width: 400px;
height: 35px;
background-color: #cce0da;
text-align: right;
padding-left: 20px;
}
然后为Internet Explorer我有一些备用的属性施加一些jQuery的
$(function() {
$('iframe', '.ie')
.attr('allowTransparency', 'true')
.attr('frameBorder', '0')
.attr('scrolling', 'no');
});
什么我最终是一个透明的iFrame我n带有不必要边框的IE。
也许我的代码存在问题?也许我的frameBorder属性的DOM操作不会在document.ready之后渲染?
答
尝试将 “FRAMEBORDER” 直接在标记属性...
<iframe frameborder="0"
答
Scuse我为我的英语,我在剧本JS
这HEAD部分使用此代码
<!--[if lt IE 9]>
<script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
<script src="myscrip"></script>
<![endif]-->
这是我的脚本
jQuery("iframe").each(function() {
var copy = jQuery(this).clone();
jQuery(copy).attr("frameborder", '0');
jQuery(copy).attr("scrolling", 'no');
jQuery(copy).replaceAll(this);
});
在
jQuery(document).ready(function()
小问题preferible添加脚本是如果你希望你的文档中的HTML5来验证,您可以使用原来的方法与
iframe css=display:none
add in my script function .show after replaceAll
+0
使用这个,但链接它:$(复制).attr({frameborder:'0',滚动:'否'})。replaceAll(this); – matpol 2012-11-06 09:06:22
答
解决小刷新。有几件事你需要做,以使其在IE中工作< 9:
1)克隆iframe,设置属性,然后追加到容器。或从头开始创建iframe元素。 IE只是不会让你以后设置属性。
2)删除原来的iframe。
$('#facebook-like iframe').clone().attr({ 'frameBorder': '0', 'allowTransparency': 'true', 'scrolling': 'no' }).appendTo('#facebook-like');
$('#facebook-like iframe').first().remove();
哈,真棒和有趣,只是偶然发现了。谢谢! – stephenway 2010-09-13 17:37:40
现在我想知道是否有另一种方法在dom中获取此属性并使其呈现。 jQuery和条件注释不这样做。为了让我的文档在HTML5中验证,frameborder已经过时。 YIKES – stephenway 2010-09-13 17:42:53
是的,这肯定是一个弃用的属性。我认为你可以选择:验证或适当的渲染。我会说这个选择很明显。 – 2010-09-13 17:53:39