Javascript 动态注入一个<;对象>;标签引起白色闪光

Javascript 动态注入一个<;对象>;标签引起白色闪光,javascript,html,dom,code-injection,object-tag,Javascript,Html,Dom,Code Injection,Object Tag,我试图在命令上动态插入一些HTML/JS/CSS。(持有) 关闭此代码(页面加载速度)。我找到了一个好办法 为此,插入一个指向html的HTML5标记- 依次引用css和js的文件,如下所示: function toggleObject() { var object = document.getElementById('myObject'); if (!object) { var e = document.createElement('object'); e.setA

我试图在命令上动态插入一些HTML/JS/CSS。(持有) 关闭此代码(页面加载速度)。我找到了一个好办法 为此,插入一个指向html的HTML5标记- 依次引用css和js的文件,如下所示:

function toggleObject() { 
var object = document.getElementById('myObject'); 
  if (!object) { 
    var e = document.createElement('object'); 
    e.setAttribute('data', 'testing.html'); 
    e.setAttribute('id', 'myObject'); 
    // inject data into DOM 
    document.getElementsByTagName('body')[0].appendChild(e); 
 } else { 

    document.getElementsByTagName('body')[0].removeChild(object); 
}} 
唯一的问题是,在插入标签时,对象(css定义的高度、宽度和位置)在加载前闪烁白色,这不是很吸引人

有没有治疗这种难看的白色闪光的方法


注意!我尝试过切换对象的可见性属性并启动loader div,但我不知道当对象完全注入DOM时,什么事件能够取消加载程序并重新打开可见性。最后我决定暂停1秒,感觉不太理想。

在创建
对象时,尝试将可见性设置为隐藏,然后在将其附加到其父
节点后将其设置为可见。

在创建
对象时,尝试将可见性设置为隐藏,然后设置一旦它被附加到其父节点上,它就变得可见了。你试过了吗:真的吗?Flash播放器嵌入插件?我不太明白这有什么帮助。我宁愿不使用任何插件。有没有想过:也许有些人以前遇到过这个问题,并且已经修复了它,写了一些代码并免费发布给其他人使用。顺便说一句,它不是一个插件,它是一个JavaScript库。好吧,也许我读得不够多。谢谢对于一个库来说似乎还是有点过火(是的,它很小,但我的移动网络应用程序也是如此)@Diodeus SWFObject根本帮不了你解决这个问题。这是一个用于嵌入Flash播放器的跨浏览器库。你试过了吗:真的吗?Flash播放器嵌入插件?我不太明白这有什么帮助。我宁愿不使用任何插件。有没有想过:也许有些人以前遇到过这个问题,并且已经修复了它,写了一些代码并免费发布给其他人使用。顺便说一句,它不是一个插件,它是一个JavaScript库。好吧,也许我读得不够多。谢谢对于一个库来说似乎还是有点过火(是的,它很小,但我的移动网络应用程序也是如此)@Diodeus SWFObject根本帮不了你解决这个问题。它是一个用于嵌入Flash播放器的跨浏览器库。是否有一个事件或其他东西可用于在完全加载后将其设置为可见?您可以在
对象上注册加载
事件侦听器
元素
s;然而,这可能不可靠。您正在使用该
对象加载什么样的数据源(例如Flash player)?我可能会试一试。我正在加载一个html文件。不,是一样的。这主意不错,我会调查的。谢谢你认为有什么好处?这是跨领域的吗?如果没有,您可以很容易地使用XHR(XMLHttpRequest)。是否有一个事件或我可以用来将其设置为在完全加载后可见的东西?您可以在
对象
元素
上注册加载
事件侦听器
;然而,这可能不可靠。您正在使用该
对象加载什么样的数据源(例如Flash player)?我可能会试一试。我正在加载一个html文件。不,是一样的。这主意不错,我会调查的。谢谢你认为有什么好处?这是跨领域的吗?如果没有,您可以轻松地使用XHR(XMLHttpRequest)。