Javascript 动态注入一个<;对象>;标签引起白色闪光
我试图在命令上动态插入一些HTML/JS/CSS。(持有) 关闭此代码(页面加载速度)。我找到了一个好办法 为此,插入一个指向html的HTML5标记- 依次引用css和js的文件,如下所示: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
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)。