запретить перезагрузку тега объекта при изменении его отображения (свойство display стиля) - PullRequest
5 голосов
/ 08 июня 2011

Я встроил контроль Silverlight в мою HTML-страницу с помощью тега объекта. Я должен показать и скрыть родительский тег объекта, изменив свойство отображения родительского тега. Мне нужно сделать это, потому что макет страницы с вкладками, то есть пользователь может переключаться между вкладками. Отображение вкладки требует скрытия содержимого предыдущей вкладки и отображения нового содержимого. Ниже приведен код тега объекта:

<div id="slControlDiv" style="width:0px; height:0px;">
    <object id="slobj" data="data:application/x-silverlight-2," type="application/x-silverlight-2" width="100" height="25" style="display: block;">
      <param name="source" value="ILCFileUploader.xap"/>
      <param name="onError" value="onSilverlightError" />
      <param name="background" value="white" />
      <param name="minRuntimeVersion" value="4.0.50826.0" />
      <param name="autoUpgrade" value="true" />
    </object>

Когда я скрываю родительский тег тега объекта, то есть меняю отображение на ноль, а затем показываю его обратно, меняя отображение на блокированное или пустое, элемент управления silverlight перезагружается.

Есть ли способ предотвратить его перезагрузку? Я попытался изменить видимость, чтобы свернуть, а затем и видимый, но это работает только в IE8 и Firefox. В других браузерах элемент по-прежнему занимает место, хотя он и скрыт. Я хочу, чтобы элемент управления также высвобождал пространство, когда оно скрыто.

Спасибо и всего наилучшего, Надим Улла

1 Ответ

3 голосов
/ 09 октября 2013

Я обнаружил, что настройка "visibility = hidden | show" содержащего элемента (например, div) позволяет скрывать | показывать содержащийся элемент объекта без его перезагрузки при повторном отображении.Использование метода «смещения» также работает (абсолютно позиционируя его вне видимой области документа).

...