所以我配置了Twitter时间线小部件,现在我试图用CSS正确地设置它。我尝试通过jQuery修改CSS,如下所示:
$("iframe").ready(function() {
$($("iframe").contents()).find("#twitter-widget-0").css({ background: "transparent" });
});
虽然ready()侦听器等待iframe完全加载,但代码仍然执行得太早,即在加载小部件的原始CSS之前。结果:代码被执行,但小部件的原始CSS会覆盖我的更改。 我读了here ready() 确保它正在监听的元素确实已经为CSS做好了准备。
我目前的解决方法是在setTimeout中执行CSS修改,如下所示:
$("iframe").ready(function() {
setTimeout(function() {
$($("iframe").contents()).find("#twitter-widget-0").css({ background: "transparent" });
}, 3000);
});
这为iframe的内容留出了足够的时间来完全加载,这样我就可以覆盖小部件的CSS。然而,这显然远非一个好的和干净的解决方案......
那么,有没有更好的方法来了解何时修改iframe的CSS是安全的?