Проблема с полосами прокрутки в браузере с приложением silverlight. (HTML) - PullRequest
6 голосов
/ 29 января 2011

У меня есть простое приложение Silverlight, и мне нужно добавить полосы прокрутки веб-браузера для него. (полосы прокрутки не в моем приложении Silverlight)

Итак, у меня есть HTML:

<style type="text/css">
html, body {
    height: 100%;
    overflow: auto;
}
body {
    padding: 0;
    margin: 0;
}
#silverlightControlHost {
    height: 100%;
    min-height:600px;
    min-width:800px;
    text-align:center;
}
</style><body>
<form id="form1" runat="server" style="height:100%">
<div id="silverlightControlHost">
    <object data="data:application/x-silverlight-2," type="application/x-silverlight-2" width="100%" height="100%">       
      <param name="source" value="ClientBin/Infopulse.MobileOptimizer.xap"/>          
      <param name="onError" value="onSilverlightError" />
      <param name="background" value="white" />
      <param name="minRuntimeVersion" value="4.0.50401.0" />
      <param name="autoUpgrade" value="true" />       
      <param name="culture" value="ru-ru" />
      <param name="uiculture" value="ru-ru" />
      <a href="http://go.microsoft.com/fwlink/?LinkID=149156&v=4.0.50401.0" style="text-decoration:none">
          <img src="http://go.microsoft.com/fwlink/?LinkId=161376" alt="Get Microsoft Silverlight" style="border-style:none"/>
      </a>
    </object><iframe id="_sl_historyFrame" style="visibility:hidden;height:0px;width:0px;border:0px"></iframe></div>
</form>
</body>

И я столкнулся со следующей проблемой: Вертикальная полоса прокрутки работает неправильно, если полоса прокрутки включена, приложение Silverlight не соответствует содержимому страницы. (Красная стрелка на экране показывает область без применения Silverlight) Я не знаю, как решить эту проблему. Ширина подходит нормально. Содержимое приложения Silverlight установлено на растяжение

Изображение: Problem with scroll bars

Буду благодарен за любую информацию

enter image description here

Ответы [ 4 ]

8 голосов
/ 17 февраля 2011

У нас была та же проблема в IE и Chrome, и мы решили ее с помощью Javascript:

  1. Добавьте следующий Javascript на тестовую страницу Silverlight.

    window.onload = resizeObject;
    window.onresize = resizeObject;
    function resizeObject() {
        var height = document.getElementById('silverlightControlHost').offsetHeight;
        document.getElementById('silverlightObject').height = height;
    }
    
  2. Дайте вашему тегу OBJECT идентификатор 'silverlightObject'.

    <object id="silverlightObject" data="data:application/x-silverlight-2," type="application/x-silverlight-2" width="100%" height="100%">
    </object>
    
  3. Проверьте его.

2 голосов
/ 29 января 2011

Значения min-height и min-width в вашем #silverlightControlHost css выглядят подозрительно большими по сравнению с вашим снимком экрана.

Вы пытались изменить их значения (или полностью их удалить) в качестве тестачтобы увидеть, влияет ли это на отображение?

Если ваш div больше, чем окно вашего браузера (что из вашего комментария кажется), то это объясняет полосы прокрутки.Сделайте минимальные размеры div меньшими (если можете).

2 голосов
/ 29 января 2011

Вы пробовали поставить переполнение: авто; в стиле div #silverlightControlHost? и удалите свойство из html, body

1 голос
/ 10 апреля 2015

Мне удалось решить эту проблему только с помощью CSS, добавив на свой сайт только следующие строки CSS:

body
{
   padding:0px;
   margin:0px;
   overflow:hidden;
}

.silverlightControlHost
{
   height:100%;
}

html, body 
{ 
   height: 100% 
}

И, конечно, при условии, что div, содержащий html-объект silverlight, имеет класс, присвоенный silverlightControlHost

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...