我正在开发一款 WP8 HTML5 游戏,并试图响应用户选择的主题。
我知道我可以在 CSS 中使用背景标签
body {
font-size: 11pt;
font-family: "Segoe WP";
letter-spacing: 0.02em;
background-color: Background;
color: #FFFFFF;
margin-
}
所以现在背景从黑色变为白色,但文本颜色没有变化,显然是因为我将其设置为#FFFFFF
我试图在 javascript 中更改它,但奇怪的是,当我尝试 document.body.style.backgroundcolor 时,它返回“”,甚至使用由 HEX 或 RGB 设置的变量也返回 false。
谁有办法解决这个问题?
最佳答案
MainPage.xaml.cs
private void Browser_Loaded(object sender, RoutedEventArgs e)
{
Browser.IsScriptEnabled = true;
// Add your URL here
Browser.Navigate(new Uri(MainUri, UriKind.Relative));
Browser.Navigated += (o, s) => {
string theme = ((Visibility)Application.Current.Resources["PhoneLightThemeVisibility"] == Visibility.Visible) ?
"light" : "dark";
Browser.InvokeScript("eval", String.Format("document.body.className += ' {0}'", theme));
};
}
手机.css
body {
font-size: 11pt;
font-family: "Segoe WP";
letter-spacing: 0.02em;
background-color: Background;
margin-left: 24px;
}
.light {
color: #000000;
}
.dark {
color: #FFFFFF;
}
关于javascript - Windows Phone 8 HTML5 应用程序和主题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16095784/