Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript div中的文本在safari 8.2、chrome 39中显示,但在firefox 34中不显示。为什么?_Javascript_Html_Css_Firefox - Fatal编程技术网

Javascript div中的文本在safari 8.2、chrome 39中显示,但在firefox 34中不显示。为什么?

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:

我在HTML文档的主体中有一个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;
        }
其中内容是一个字符串

此外,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投诉文本内容属性。哦,回答不错,我只是注意到我的不允许你更改内容。