Javascript div中的文本在safari 8.2、chrome 39中显示,但在firefox 34中不显示。为什么?
我在HTML文档的主体中有一个div标记,如下所示:Javascript div中的文本在safari 8.2、chrome 39中显示,但在firefox 34中不显示。为什么?,javascript,html,css,firefox,Javascript,Html,Css,Firefox,我在HTML文档的主体中有一个div标记,如下所示: <div id="content_text"></div> #content_text { font-size: 30px; font-family: alexandria_n; position: absolute; top: 280px; left:
<div id="content_text"></div>
#content_text
{
font-size: 30px;
font-family: alexandria_n;
position: absolute;
top: 280px;
left: 100px;
z-index: 1;
overflow-y: scroll;
}
其中内容是一个字符串
此外,div的样式如下:
<div id="content_text"></div>
#content_text
{
font-size: 30px;
font-family: alexandria_n;
position: absolute;
top: 280px;
left: 100px;
z-index: 1;
overflow-y: scroll;
}
字体“alexandria_n”是从本地文件夹加载的,在样式表的前面有@font-face
@font-face
{
font-family: alexandria_n;
src: url("resources/alexandria_n.ttf");
}
所以问题是,它在Safari和Chrome中显示“内容”字符串文本,并带有所有corect样式,但在Firefox中不显示任何文本。在Firefox中打开页面时,没有任何div跟踪
在Firefox中加载页面时打开浏览器控制台,出现以下错误:
downloadable font: kern: Kerning pairs are not sorted., table discarded (font-family: "alexandria_n" style:normal weight:normal stretch:normal src index:0) source: file:///.../resources/alexandria_n.ttf
但是,即使将div样式更改为Arial替换alexandria_n,div文本仍然不会显示在Firefox中:
#content_text
{
font-size: 30px;
font-family: Arial;
position: absolute;
top: 280px;
left: 100px;
z-index: 1;
overflow-y: scroll;
}
我对CSS/HTML的细微差别了解不够,无法找到一个好的调试方法。任何帮助都将不胜感激!: innerText不是一个标准化的属性,它是由IE引入并被许多浏览器复制的,但不是Firefox。W3C的等价物是textContent,但IE直到9版或更高版本才支持它
您可以执行以下操作:
function setText(element, text) {
if (typeof element.textContent == 'string') {
element.textContent = text;
} else if (typeof element.innerText == 'string') {
element.innerText = text;
} else {
element.innerHTML = '';
element.appendChild(document.createTextNode(text));
}
}
然后:
看起来FireFox有一个 您可以通过以下方式重写函数:
function innerPlain(element) {
return element.innerText || element.textContent;
}
Firefox不支持innerText,在现代浏览器中使用W3C兼容的文本内容。这很有效!但是,“content”字符串有换行符,现在似乎被忽略了。有什么建议吗?文本不会被解析,只是简单地插入,因此空格的处理方式与标记中的完全相同,即减少为单个空格。看见如果您想保留换行符和格式,请创建适当的标记并使用插入。基本上是因为firefox不使用webkit进行浏览器开发和支持。因此firefox使用w3c投诉文本内容属性。哦,回答不错,我只是注意到我的不允许你更改内容。