Свойство без обочности не работает только в Firefox
-
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("<", "<").Replace(">", ">");
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 и Продолжать Кнопки видны как, когда эта строчка кода изменяется.