Я пытаюсь динамически вставить некоторые HTML / JS / CSS по команде.(удерживая этот код для скорости загрузки страницы).Я нашел изящный способ сделать это, вставив тег HTML5, указывающий на html-файл, который, в свою очередь, ссылается на 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), мигает белым перед загрузкой, что не очень привлекательно.
Есть ли средство от уродливой белой вспышки?
Примечание!Я экспериментировал с переключением свойства видимости объекта и запуском div загрузчика, но я не могу понять, какое событие сможет вызвать загрузчик и снова включить видимость, когда объект полностью введен в DOM.В итоге я остановился на тайм-аут на 1 секунду, что кажется неоптимальным.