Tag: firefox

Mozilla firefox无法使用window.onbeforeunload

我正在使用window.onbeforeunload在windows关闭时向用户显示一条消息,该function适用​​于chrome和IE但它不适用于Firefox,我使用的是firefox版本26.0我试过很多但没有意思,有人说这是firefox中的一个错误,就像在这篇文章和另一个建议一些解决方案,因为在这篇文章我尝试了所有可用的解决方案使用javascript和jquery但它不起作用,现在我显示一个确认对话框但浏览器默认对话框在它之后出现并且我对此不满意,我还试图阻止浏览器默认对话框出现使用preventDefault()但也没有意思!! 如果有任何解决这个问题的方法会很棒,这就是我如何使用window.onbeforeunload : window.onbeforeunload = confirmWinClose(); function confirmWinClose() { var myVar =’${isFireFox}’; if(myVar==’true’){ return confirm(confirmExamClose); }else{ return confirmExamClose; } } 注意: isFireFox是一个jsp变量,我曾经使用User-Agent Header知道浏览器的类型, confirmExamClose是我向用户显示的消息。

使用firebug在JavaScript中查找内存泄漏?

是否有任何Firefox附加组件可用于查找部分JavaScript导致内存泄漏?

如何使用jQuery检测浏览器类型?

我想检测用户是否使用IE和Firefox,但我找不到脚本。 我的代码如下: $(document).ready(function(e) { $.browser.chrome = /chrom(e|ium)/.test(navigator.userAgent.toLowerCase()); if($.browser.chrome){ alert(1); //this work well } else if(//the browser is IE){alert(2);} else if(//the browser is Firefox){alert(3);} //The problem is that I don’t know how to write a script for IE and FireFox browser for chrome is work fine )};

在Firefox中HTML5拖放文件夹检测。 它甚至可能吗?

我有一个放置区域,我想检测被拖动的项目是文件夹还是文件。 在chrome中我通过使用实现了这一点 for (var i = 0; i < nrOfFiles; i++) { var entry = e.originalEvent.dataTransfer.items[i].webkitGetAsEntry(); if (entry.isDirectory) { //folder detection } 在Firefox中,不可能使用上述解决方案(webkit),在花了很多时间试图解决这个问题后,我想出了以下解决方案(并且失败了) 我检查拖动的项目是否没有类型和大小,如下所示,并且在大多数情况下它按预期工作。 从我所看到的,这是无效的,并没有成功,因为一些文件可能没有文件扩展名所以我尝试使用FileReader API将文件读取为二进制字符串(readAsBinaryString)或readAsArrayBuffer,并在项目为的情况下捕获exception不可读,但永远不会抛出exception。 var files = e.originalEvent.dataTransfer.files; for (var i = 0; i < nrOfFiles; i++) { if (files[i].size === 0 && files[i].type==="") { try{ var reader = new FileReader(); reader.readAsBinaryString(files[i]); }catch(e){ […]

获取输入元素的像素的光标或文本位置

IE允许我在输入元素中创建一个文本范围,我可以在其上调用getBoundingClientRect()并获取某个字符或光标/插入符的像素位置。 有没有办法在其他浏览器中以像素为单位获取某个角色的位置? var input = $(“#myInput”)[0]; var pixelPosition = null; if (input.createTextRange) { var range = input.createTextRange(); range.moveStart(“character”, 6); pixelPosition = range.getBoundingClientRect(); } else { // Is there any way to create a range on an input’s value? } 我正在使用jQuery,但我怀疑它能否解决我的问题。 我期待一个纯JavaScript解决方案,如果有的话,但欢迎jQuery的答案。

jQuery Focus在firefox上失败了

当我注意到一些非常特殊的东西时,我一直在测试另一个问题 。 FF4 / 5无法触发focus jQuery事件。 可能被认为是重复的另一个问题已经结束并被接受而没有真正的答案。 对于问题本身,我尝试了以下简单的代码: $(‘#target’).focusout(function() { $(this).focus(); }); 它在Chrome和IE中运行良好,但在FF上失败。 这是我们中间懒人的jsFiddle 。 谁能解释这种行为? 或者它是一个已知的错误?

使用带有.change()事件的输入类型=“文件”字段上传文件并不总是在IE和Chrome中触发

我有一段简单的代码来上传文件: $(document).ready(function () { $(“.attachmentsUpload input.file”).change(function () { $(‘form’).submit(); }); }); 当我点击输入然后在对话框中选择一个文件时,我正在使用ajax提交此文件。 这不是重要的部分。 重要的是,当我在对话框中第二次选择相同的文件时,在提交第一个文件之后,.change()事件不会在IE和Chrome中触发。 但是当我选择不同的文件时,事件会触发并正常工作。 在Firefox下,它一直在开火。 如何解决这个问题,按预期工作(如在Firefox中)?

错误:拒绝访问属性“处理程序”的权限

我有一个用于Firefox的greasemonkey脚本,昨天它运行得很好。 我今天尝试使用它(没有代码被修改),我注意到它停止工作。 经过进一步检查,脚本现在抛出以下错误: Error: Permission denied to access property ‘handler’ 在以下代码块中抛出此错误: $(‘body’).click(function() { // code here }); 这个错误神奇地开始发生在今天脚本工作正常昨天。 我不明白为什么在尝试做一些基本的事情时会发生这种错误,例如在jQuery中添加事件处理程序。 我的脚本使用的jQuery已经在脚本执行的页面中使用,因此我使用此代码使GM可以访问它: var $ = unsafeWindow.jQuery; 如果需要,可供参考,以下是我在脚本中使用的以下Greasemonkey函数: // @grant GM_getResourceText // @grant GM_addStyle // @grant GM_xmlhttpRequest // @grant GM_getResourceURL 我试过研究这个错误,我找不到任何答案。 所有看似可能有用的问题都涉及iframe,并且在我的代码或运行的网站中找不到单个iframe。 我也尝试删除并重新安装脚本,但没有解决问题。