我在Firefox 5中发现了一个奇怪的错误(我现在无法访问4).但是,我认为它可能在Firefox 4中工作,因为我刚买了一台新电脑,我不记得以前看过这个错误了.
我有几个选择框.所选值基于会话值,该会话值可以通过模态窗口中的某些选择进行更改.当我关闭模式窗口并刷新页面时,它不会将选择框更新为正确选择的值,而是保留在首次加载页面时最初选择的值.非常奇怪的是,当我查看Firebug中的代码时,它会显示正确选择的值,但这不是选择框显示为选中的值!我也运行javascript,selectedIndex是我在Firebug中看到的并且正确,但它不是我看到的选择.
如果我进行硬刷新,我会看到选择了正确的值.我已经尝试将selectedIndex设置为selectedIndex或其他一些值,但这只会在硬刷新时起作用 - 即使我知道代码正在运行,因为警报会运行.此代码在其他浏览器中工作正常.有谁知道任何变通方法?
<select id="sportid" name="sportid">
<option value="all">All</option>
<option selected="selected" value="8">3 on 3 Ice Hockey</option>
<option value="1">Basketball</option>
<option value="4">Billiards</option>
<option value="6">Broomball</option>
<option value="7">Dodgeball</option>
<option value="10">Field Hockey</option>
</select>
Run Code Online (Sandbox Code Playgroud)
所以,即使选择3对3冰上曲棍球,并且选择html说,我看到篮球 - 这是之前的选择.
谢谢!烬
我正在尝试开发一个Firefox扩展/附加组件,需要访问当前加载的页面的SSL证书信息.获得此信息后,我计划根据SSL信息修改页面内容.虽然,在我到达那里之前,我首先需要获取SSL信息.
此处概述的方法使用单独的XMLHTTPRequest来获取安全证书.如果我可以避免它,我宁愿不这样做,因为它会带来安全问题.
例如,恶意站点/中间人可以在页面的第一个请求(浏览器将验证)上提供一个证书,然后为我的扩展所做的XMLHTTPRequest提供另一个证书.这将导致扩展基于不一致的信息修改站点内容.因此,我想获取浏览器本身在验证网站时使用的SSL证书信息.
考虑到这一点,我将上述方法与在Firefox扩展中更改HTTP响应中概述的方法相结合,通过添加"http-on-examine-response"事件的观察者来拦截所有HTTP响应.我认为通过这种方法,我可以简单地获取从网站下载的证书信息.
这是我的代码的内容,其中大部分来自上面的链接(其余的是Firefox扩展样板):
function dumpSecurityInfo(channel) {
const Cc = Components.classes
const Ci = Components.interfaces;
// Do we have a valid channel argument?
if (! channel instanceof Ci.nsIChannel) {
dump("No channel available\n");
return;
}
var secInfo = channel.securityInfo;
// Print general connection security state
if (secInfo instanceof Ci.nsITransportSecurityInfo) {
dump("name: " + channel.name + "\n");
secInfo.QueryInterface(Ci.nsITransportSecurityInfo);
dump("\tSecurity state: ");
// Check security state flags
if ((secInfo.securityState & Ci.nsIWebProgressListener.STATE_IS_SECURE) == Ci.nsIWebProgressListener.STATE_IS_SECURE)
dump("secure\n");
else if ((secInfo.securityState …Run Code Online (Sandbox Code Playgroud) 我有一个javascript运行很长时间,我从来没有在IE或早期版本的Firefox中遇到任何问题.但是在Firefox 5.0中,如果失败.
注意!已删除该公式以简化示例,因为我已确认该公式正在运行并产生预期结果.
<script type="text/javascript">
function NaN(Num) {
return (isNaN(Num) || Num == Infinity || Num == -Infinity ? "n/a" : Num);
}
function CalculateFormula() {
result = NaN(*formula*);
}
</script>
Run Code Online (Sandbox Code Playgroud)
当要调用NaN函数时,javascript就会退出.它就像IE中的魅力一样,但为了支持FireFox 5.0,我从结果中删除了NaN功能.
function CalculateFormula() {
result = *formula*;
}
Run Code Online (Sandbox Code Playgroud)
我也尝试了这个,但是在调用NaN函数时它也会退出脚本.但这证实我的公式按预期返回了一个数字.
function CalculateFormula() {
result = *formula*;
result = NaN(result);
}
Run Code Online (Sandbox Code Playgroud)
谁可以解释这个问题呢?
根据Mozilla Developer Network的说法,自Firefox 3.6以来一直支持后台大小,但它显然不适用于我的OS 5版本的Firefox 5.它在Safari中看起来很好,但Firefox 5没有正确显示它.有bug吗?为什么我不能在Firefox中使用它?
HTML:
<span class="special button">My button</span>
Run Code Online (Sandbox Code Playgroud)
CSS:
.button {
background-size: contain;
}
.button.special {
background: url("/images/special-button-bg.png");
}
Run Code Online (Sandbox Code Playgroud)
这是一个jsfiddle,显示它无法正常工作.
在Firefox 5 <textarea>中可扩展(右下角有一个钩子).
如何使textarea固定/不可扩展?
最好通过CSS.