gpt4 book ai didi

css - Flash as3中加载解析css样式表的最佳方式

转载 作者:行者123 更新时间:2023-11-28 12:51:14 25 4
gpt4 key购买 nike

我不是第一次遇到这个“问题”。其他时候,我确实解决了它,避免了问题,但现在我想面对它。

想法是用像这样的简单 css 代码加载一些文件“myBeautifulStyles.css”:

@charset "UTF-8";
/* CSS Document */

h1, h2, h3, p, a {
font-family:Arial, Helvetica, sans-serif;
}

h1 {
font-size:16px;
font-weight:bold;
}

h2 {
font-size:14px;
font-weight:bold;
}

h3 {
font-size:12px;
font-weight:bold;
}


p {
font-size:12px;
font-weight:normal;
}

如果我只是将它作为文本加载并尝试 StyleSheet.parseCSS() 结果为空,.styleNames 返回一个空数组。我想知道是关于文本(换行标记、初始代码...)还是缺少其他内容。网络上的示例始终是单行代码。清理此文本并将其放在一行中很容易,但行得通吗?

最重要的是,这项任务的最佳方法是什么?

编辑:根据需要,此代码通过 php 加载 de css 文件(以避免缓存):

var ur:URLRequest = new URLRequest(httpBase+"admin_arqs.php");
ur.method = URLRequestMethod.POST;
var Vars:URLVariables = new URLVariables();
Vars.op = "ler";
Vars.url = httpBase+"conteudos_estilos.css";
ur.data = Vars;
var ul:URLLoader = new URLLoader();
ul.dataFormat = URLLoaderDataFormat.TEXT;
ul.addEventListener(Event.COMPLETE, estilos);
ul.addEventListener(IOErrorEvent.IO_ERROR, ioerror);
ul.load(ur);

function estilos(e){
e.currentTarget.removeEventListener(e.type, arguments.callee);
e.target.removeEventListener(IOErrorEvent.IO_ERROR, ioerror);
var Res = JSON.decode(clearRes(String(e.target.data)));
if(Res.erro!="OK"){
msg("Erro: "+Res.msg);
} else {
ini_edit(Res.dados);
}
}

function ioerror(e){
e.currentTarget.removeEventListener(e.type, arguments.callee);
e.target.removeEventListener(Event.COMPLETE, estilos);
msg("Erro de IO!");
}

这部分设置样式表:

trace("Estilos em string: "+css);
var estilos:StyleSheet = new StyleSheet();
estilos.parseCSS(css);
texto.styleSheet = estilos;
trace("Estilos definidos: "+estilos.styleNames);

第一个跟踪生成的 css 文本显示在上面。第二个应该显示一个带有名称的数组。我还尝试跟踪 estilos.styleName.length 并且为零。

texto 是 TextField,css 来自 Res.dados。

最佳答案

似乎是 css 文件头部的 @charset "UTF-8"; 行导致了问题。尝试将其删除,看看是否可以解决问题。

关于css - Flash as3中加载解析css样式表的最佳方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16952523/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com