Windows 8 如何在windows应用商店应用程序中读取default.css文件中的localsettings变量?
我正在构建一个windows应用商店应用程序,该应用程序具有默认css和该css中的默认字体大小。我允许用户从设置屏幕自定义字体大小,并且该首选项存储在本地设置中。如何更新应用程序以反映新的字体大小?目前有什么模式吗?这是一个Html5/js应用程序。我可以简单地从更改事件重新加载css值吗 应用程序启动时,从本地设置读取字体大小,然后使用JavaScript设置文档的字体大小:Windows 8 如何在windows应用商店应用程序中读取default.css文件中的localsettings变量?,windows-8,windows-store-apps,Windows 8,Windows Store Apps,我正在构建一个windows应用商店应用程序,该应用程序具有默认css和该css中的默认字体大小。我允许用户从设置屏幕自定义字体大小,并且该首选项存储在本地设置中。如何更新应用程序以反映新的字体大小?目前有什么模式吗?这是一个Html5/js应用程序。我可以简单地从更改事件重新加载css值吗 应用程序启动时,从本地设置读取字体大小,然后使用JavaScript设置文档的字体大小: document.body.style.fontSize = fontSizeFromSettings; 当应用程
document.body.style.fontSize = fontSizeFromSettings;
当应用程序运行且用户更改字体大小时,也可以拨打上述电话。您可以在将字体大小保存到本地设置的代码之后立即执行此操作
当然,您也可以使用
document.getElementById(“myId”).style.fontSize更改单个元素的字体大小我将此理解为已经定义了类选择器的OP,如
.myclass
{
font-size: 36px;
}
并希望使用.myclass
选择器将所有元素修改为新值,例如72px。如果这就是目的,那么您可以动态修改CSS
这里有一个简单(而且脆弱,不适合生产)函数,它在已知CSS文件中查找特定的样式选择器,并动态修改它。您可能会对此进行概括,查看和了解更多详细信息
function updateFontSize(newFontSize) {
for (var i = 0; i < document.styleSheets.length; i++) {
if (document.styleSheets[i].href.indexOf("default.css") >= 0) {
var mySheet = document.styleSheets[i];
for (var r in mySheet.cssRules) {
if (mySheet.cssRules[r].selectorText == ".myclass") {
var myRule = mySheet.cssRules[r];
myRule.style.fontSize = newFontSize;
return;
}
}
}
}
};
这很接近。我没有类,但我有一个div id。我们如何将它调整为div id?如果它只是一个div id,它将只应用于一个元素,因此@Matts answer的最后一部分应该可以工作。现在可以工作了,但我看不到字体改变。有些东西需要重新加载?现在可以了。我犯了一个小错误。字体中没有px。修复了它,它工作得很好。非常感谢。
updateFontSize("128px");