如何在DOM准备好之前加载jQuery

时间:2010-11-08 14:31:12

标签: javascript jquery flash dom document

我想在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是我唯一的选择......

3 个答案:

答案 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);

});