我想在DOM准备好之前加载一些jQuery代码。我想在DOM加载时制作一个flash文件transparant。我打算使用类似的东西,但是在DOM加载之前就启动了Flash。
jQuery(document).ready(function(){
jQuery('object:not(:has(wmode))').each(function(){
jQuery(this).attr('wmode', 'transparent');
jQuery(this).prepend('<param name="wmode" value="transparent">');
jQuery(this).children('embed').attr('wmode', 'transparent');
});
});
关于如何做到这一点的任何想法?
嘿伙计们,感谢您的帮助,基本上,Flash内容来自我们的广告管理器,这非常愚蠢,不允许直接编辑HTML,以便将所需的wmode添加到特定标签中。
所以Javascript是我唯一的选择......
答案 0 :(得分:3)
ready()
是您可以安全访问任意DOM元素的最早点。
您可以在声明script
标记后直接放置object
块:这应该有效,您将可以访问object
元素。
但是,我认为即便如此也会对您有所帮助:据我所知,Flash无论如何都不会接受JavaScript端更改wmode
参数。
您必须将wmode.transparent
放入HTML中,或在加载DOM时动态创建Flash影片。
答案 1 :(得分:0)
在加载dom之前使用javascript会产生不可预测的结果。 根据需要修改你的html代码,但不要使用javascript。
答案 2 :(得分:0)
最安全的方法是在dom ready事件上构造对象或embed元素:
<div id="flash"></div>
$(document).ready(function(){
var htm= '<object ...><param name="some" value="val" ... /></object>';
$('#flash').html(htm);
});