javascript - Windows Phone 8 HTML5 应用程序和主题

标签 javascript html windows-phone-8

我正在开发一款 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/

相关文章:

javascript - 为什么 HTML Canvas 有两种不同的尺寸?

javascript - 删除引用的 JS 对象中的属性

javascript - 更改超时时间

Javascript 遍历元素并将元素换成 HTML

html - 我可以在 Windows Phone 8 应用程序中使用 Node.js 吗?

c# - IDataService 已经在 MVVM Light 项目中注册

c# - 即使在使用任务时也无法等待 'Void'

javascript - 如何将一个字符串从另一个字符串转换为 'subtract'?

javascript - Gmaps.js 路线与时间

javascript - 如何使用 Canvas 在图像上绘制叠加层?