Свойство без обочности не работает только в Firefox

StackOverflow https://stackoverflow.com/questions/2637718

  •  26-09-2019
  •  | 
  •  

Вопрос

Я создал простое приложение Silverlight для отображения некоторых текста в реальном времени от XML. Текстовый дисплей с помощью тега HTML DIV. Я добавил свойство плагина Windowless = True, EnableHtmlaccess = True, Background = прозрачный.

На Silverlight я добавил кнопку "Продолжать«Наверху и снизу, что показывает некоторое сообщение на этом клике.

Плагин Silverlight разместится на базе содержимого XML.

Мой код:

Mainpage.xaml:

<Grid x:Name="LayoutRoot">
        <StackPanel HorizontalAlignment="Right" VerticalAlignment="Top">
            <Button x:Name="topContinue" Content="Continue" Margin="0,30,30,0" Click="Continue_Click"></Button>
        </StackPanel>
        <StackPanel HorizontalAlignment="Right" VerticalAlignment="Bottom">
            <Button x:Name="bottomContinue" Content="Continue" Margin="0,0,30,30" Click="Continue_Click"></Button>
        </StackPanel>
</Grid>

Mainpage.xaml.cs:

Создание HTML Div на приложение начать использование:

HtmlDocument _document = HtmlPage.Document;
HtmlElement iDIV = _document.CreateElement("DIV");
iDIV.SetAttribute("id", "divHTMLViewer");
iDIV.SetStyleAttribute("position", "absolute");
iDIV.SetStyleAttribute("z-index", "1");
iDIV.SetStyleAttribute("display", "INLINE");
iDIV.SetStyleAttribute("top", "100px");
iDIV.SetStyleAttribute("height", "0px");
iDIV.SetStyleAttribute("width", "96%");
iDIV.SetStyleAttribute("left", "15px");
iDIV.SetStyleAttribute("text-align", "justify");

HtmlElement body = _document.GetElementsByTagName("BODY")[0] as HtmlElement;
body.RemoveChild(iDIV);
body.AppendChild(iDIV);

Установите текст XML:

HtmlElement divHTMLViewer = HtmlPage.Document.GetElementById("divHTMLViewer");
sText = sText.Replace("&lt;", "<").Replace("&gt;", ">");
divHTMLViewer.SetStyleAttribute("display", "none");
divHTMLViewer.SetStyleAttribute("width", "96%");
divHTMLViewer.SetStyleAttribute("top", "100px");
divHTMLViewer.SetStyleAttribute("left", "15px");
divHTMLViewer.RemoveStyleAttribute("color");
divHTMLViewer.RemoveStyleAttribute("fontSize");
divHTMLViewer.SetProperty("innerHTML", sText);
divHTMLViewer.SetStyleAttribute("display", "INLINE");
setSilverlightControlHeight(UILAYOUT.INSTRUCTIONS);

Размер плагина Silverlight Размер Увеличить код:

isilverlightControlHost.SetStyleAttribute("height", HtmlPage.Window.Eval("document.documentElement.scrollHeight").ToString() + "px");
isilverlightControlHost.SetStyleAttribute("position", "absolute");

Все эти код работает нормально в Internet Explorer, Crome & Safari, но "Продолжать«Не виден только в Firefox.

Так есть ли какие-либо проблемы с этим кодом?

Образец кода:http://lm-bucket-for-forum-post.s3.amazonaws.com/htmlviewsilverlight.zip.

Рабочий образец: просто замените «.zip» с помощью «TESTPAGE.HTML» вышеуказанного URL.

Пожалуйста, дайте мне знать, как я могу решить это?

Спасибо заранее, Laxmilal Menaria

Это было полезно?

Решение

Я посмотрел на ваш код, и, поскольку я подозревал, что его не серебристый свет, который, кажется, является проблемой, но более реализацией CSS в различных браузерах.

Чтобы сделать эту работу в обоих браузерах, вам также нужно удалить следующую строку кода:

isilverlightControlHost.SetStyleAttribute("position", "absolute");

Или изменить код, чтобы атрибут стиля позиции игнорируется Firefox:

isilverlightControlHost.SetStyleAttribute("position", "absolute !important");

Я попробовал это на своей машине, используя IE8 и FF3.6.12 и Продолжать Кнопки видны как, когда эта строчка кода изменяется.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top