2016-11-09 57 views
-1

当使用在最新的Firefox发布的XUL <textbox>元素,我不能什么焦点的元素,并写了进去。它在旧版本,如33使用。使用html:textarea似乎工作。不过,我会很乐意将原始的XUL元素保存在我的应用程序中,并希望了解这里出了什么问题。XUL文本框是不可编辑或可见

当使用<textbox>元素的multiline属性,元素是完全不可见!

任何提示或解释将是巨大的。

这里是我的小test.xul文件内容:

<?xml version="1.0"?> 
<?xml-stylesheet href="chrome://global/skin/global.css" type="text/css"?> 

<window 
    xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" 
    xmlns:html = "http://www.w3.org/1999/xhtml" 
    width="800" 
    height="800"> 

<textbox flex="1" /> 
<html:textarea flex="1" /> 

</window> 
+1

什么Firefox的版本?经过测试,在FF49.0.2和Developer Edition(51.0a2)中(无论是否添加'multiline =“true”'),这似乎都正常工作。你的意思是做一些除了在元素内单击(或使用Tab键进行聚焦)并在该字段中输入内容之外的内容? – Makyen

+0

@Makyen感谢您的测试。我使用FF 49.0.2和Windows 10测试了它。回归范围似乎在37(工作)和38(破碎)之间。奇怪的是,它适合你。但更奇怪的是它不适合我,因为我不相信他们在这里改变了任何东西。 – kirschkern

+1

我也在使用Windows 10进行测试。看起来还有其他事情正在进行。我把这个文件(包括你提供的和每个类型的多个附加字段,在'multiline =“true”'中混合)在一个我可以从'chrome://'URL访问的目录中,并且只是将URL加载到浏览器中的页面。我可以测试它作为一个独立的窗口(例如对话框),如果这是你正在做的。 – Makyen

回答

0

发现问题。 我在我的chrome.manifest用于文件的重写规则,它是这样的:

override chrome://global/locale/textcontext.dtd 
     chrome://myapp/locale/xulrunner_global_textcontext.dtd 

文件被更改为Firefox 38,并加入一个额外的实体,是不是在我的文件中定义。添加缺少的ENTITY解决了所有问题。

感谢Makyen用于测试和灵感。

对于那些有兴趣谁的变化: https://hg.mozilla.org/releases/l10n/mozilla-beta/de/diff/6f25b6d2dcf5/toolkit/chrome/global/textcontext.dtd

+0

请将您原始* chrome.manifest *的内容添加到问题中。没有这些信息,这个答案就没有意义了。换句话说,如果没有问题中的信息,有人必须通过心理才能说出这是问题的答案。问题需要包含足够的信息,以便可以确定答案。如果你更新了这个问题,请留下评论,包括'@ Makyen'。 – Makyen

+0

注意:要与需要更改覆盖的多个Firefox版本兼容,您需要使用行上的'appversion'清单标志并声明多个覆盖不同文件。这样做令人沮丧。虽然每行可以有多个'appversion'标记,它们会一起被*或*编辑。换句话说,你不能说'appversion <= 41. * appversion> = 40.0'只能在40.0-41范围内。*(注意:'*'总是指*最大*,而不是*任何*)。一起使用这两个'appversion'标志实际上会指定* all *版本,因为所有版本都是<=41.* OR > = 40.0。 – Makyen

+0

['appversion'标志](https://developer.mozilla.org/en-US/docs/Chrome_Registration#appversion)也是特定版本。您可能需要明确指定ESR版本,因为它们是ESR的事实是检查'appversion'的字符串的一部分。我需要查看Firefox源代码以查看是否有优化指定范围的方法。例如:查明在* chrome.manifest *中对同一个URL的第二个覆盖是否取代了先前的规范,它也与'appversion'相匹配。 – Makyen