Ларри.
Причина в том, что при использовании «display: none» браузер отображает страницу так, как если бы элемента вообще не было. Хотя вы можете получить ссылку на элемент object в DOM, но сам объект еще не создан. С другой стороны, «видимость: скрытый» скрывает только элемент, но он все еще занимает пространство и макет.
Лучшее решение, чтобы не нарушать макет страницы, это сделать ваш элемент абсолютно позиционированным и поместить его в какое-то место вне поля зрения пользователя (например, слева: -1000px)