相关疑难解决方法(0)

未捕获的TypeError:无法读取未定义的属性"msie"

此错误消息来自以下代码:

$.fn.extend({
    chosen: function(options) {
      if ($.browser.msie && ($.browser.version === "6.0" || $.browser.version === "7.0")) {
Run Code Online (Sandbox Code Playgroud)

来自文件:https://github.com/koenpunt/chosen/edit/master/chosen/chosen.jquery.js

显然浏览器没有定义.任何想法可能导致这种情况.Chrome和FF中的错误相同.

javascript jquery

138
推荐指数
1
解决办法
20万
查看次数

jQuery:在mousemove事件期间检测按下的鼠标按钮

我尝试检测哪个鼠标按钮 - 如果用户在jQuery下的mousemove事件期间按下了,但是我得到了模棱两可的结果:

no button pressed:      e.which = 1   e.button = 0
left button pressed:    e.which = 1   e.button = 0
middle button pressed:  e.which = 2   e.button = 1
right button pressed:   e.which = 3   e.button = 2
Run Code Online (Sandbox Code Playgroud)

码:

<!DOCTYPE html>
<html>
<head>
  <script src="http://code.jquery.com/jquery-latest.min.js"></script>
</head>
<body>

<input id="whichkey" value="type something">
<div id="log"></div>
<script>$('#whichkey').bind('mousemove',function(e){ 
  $('#log').html(e.which + ' : ' +  e.button );
});  </script>

</body>
</html>
Run Code Online (Sandbox Code Playgroud)

如何判断按下鼠标左键和没有按钮之间的区别?

jquery

69
推荐指数
4
解决办法
6万
查看次数

$ .browser是未定义的错误

可能重复:
jQuery $ .browser是否已弃用?
jQuery最新的$ .browser

在我正在使用JQuery加载的代码中.我已经浏览了应该加载的所有文件,但是我找不到JQuery的加载位置.我需要包含第二个JQuery脚本,以便我包含的文件应该正常工作,因为第一个脚本加载到很晚.但是,这会导致其他错误,因为在加载第一个JQuery文件时会覆盖定义(我还没有声明).所以现在我正在尝试使用jQuery.noConflict来解决这个问题.

以下是我的代码中的一些用法示例:

<script>
var $jquery190 = jQuery.noConflict();
</script>


jQuery.noConflict();
    (function($) {
//$(function() {
// more code using $ as alias to jQuery
//});
 $.fn.setupSpinner = function () {
        $(this)
            .ajaxStart(function () {
                $(this).show();
            })
            .ajaxStop(function () {
                $(this).hide();
            })
        ;
        return this;
    };


})(jQuery);


$jquery190(config.ids.datepicker + ", " + config.ids.todatepicker).datepicker("disable");
$jquery190(config.ids.datepicker + ", " + config.ids.todatepicker).datepicker("setDate", "-2d");
$jquery190(config.ids.datepicker + ", " + config.ids.todatepicker).datepicker("enable");
//        $(config.ids.datepicker + ", " + config.ids.todatepicker).datepicker("hide");
Run Code Online (Sandbox Code Playgroud)

做了一些替换之后我得到了错误:

TypeError: $.browser is …
Run Code Online (Sandbox Code Playgroud)

jquery jquery-ui jquery-1.9

61
推荐指数
1
解决办法
16万
查看次数

在IE8上获取访问被拒绝错误

我有一个HTML表单(upload.htm),里面有一个HTML文件上传控件.

<form id="frmupload" name="upload" enctype="multipart/form-data" action="uploadhandler.ashx" method="post">
    <input id="uploader" name="uploadctrl" type="file"/>
</form>
Run Code Online (Sandbox Code Playgroud)

上面的页面中还有一个JavaScript方法,如:

function performUpload(){
    document.getElementById('frmupload').submit();
}
Run Code Online (Sandbox Code Playgroud)

我从一个页面(uploadpage.htm)中调用它iframe:

<iframe id="docframe" src="upload.htm" style="display:none"></iframe>
Run Code Online (Sandbox Code Playgroud)

我尝试从uploadpage.htm页面执行下面的语句:

var i = document.getElementById('docframe');
i.contentWindow.performUpload();
Run Code Online (Sandbox Code Playgroud)

我得到一个错误,说访问被拒绝,我的调试器停止在我显示的第一个JavaScript函数.这两个文件都位于Web项目中的相同位置.他们也有相同的域名.为什么我会收到此错误?

当然,早些时候,我可以发布页面:当我没有name为HTML上传控件设置属性时.但是在我在HTML标记中设置name属性后,我得到了这个奇怪的错误.为什么我第一次没有这个?

看看@ this post - > "访问被拒绝"当脚本试图访问IE8中的iframe时,但它没有帮助.

javascript file-upload cross-domain access-denied internet-explorer-8

45
推荐指数
2
解决办法
5万
查看次数

Jquery Datepicker Chrome

当使用jQuery UI Datepicker时,我们在Google Chrome中使用时会遇到问题:当我们输入日期高于12的日期时,它不接受它作为有效日期,这是因为chrome认为dateformat是mm/dd/YYYY.我们尝试通过添加代码来尝试将日期设置强制为dd/mm/yyyy来解决此问题

$('.date').datepicker({ dateFormat: "dd/mm/yy" });
Run Code Online (Sandbox Code Playgroud)

有没有办法解决这个问题,所以我们的datepicker将接受dd/mm/yyyy值?我们在Google Chrome中只有这个问题,datefix适用于firefox,即&safari.我们在这个项目中使用ASPX和MVC3.

如果有人能解决我们的问题,那就太好了

谢谢

jquery jquery-ui datetimepicker asp.net-mvc-3

25
推荐指数
4
解决办法
2万
查看次数

IE11是否删除了javascript条件编译?

我一直在使用javascript条件编译确定IE Trident引擎的版本:

var ieVersion = undefined;
/*@cc_on
   ieVersion = Math.floor(@_jscript_version);
@*/
Run Code Online (Sandbox Code Playgroud)

这适用于IE8,9和10.在IE11中,条件评论的块不执行,除非我使用F12开发工具模拟IE10(在这种情况下它返回正确的值,11).

这很令人困惑,因为条件编译上MSDN页面指定它适用于Internet Explorer 11.(更新2015年2月3日:此页面进行了更新,明确规定其含量.适用于IE11的标准模式),我没有发现任何信息网上表明IE11不应该支持有条件的意见.

有没有人有这方面的信息?任何人都可以在IE11中重现这种行为吗?


编辑:这与IE的<audio>支持相关.我有一个网络应用程序需要播放大约50个短(~1秒)的音频文件,这些文件应该以(伪)随机顺序播放,并在用户交互后单独播放.问题是多种多样的:

  • IE9的未记录限制为41个audio元素(无论是在HTML中声明还是在JS对象中声明).所有后续音频文件都无法加载和播放.(41个元素中的每一个都可以重新分配它的源,但是每一次重新分配也都会无声地失败.我很想看到这些错误背后的代码......)
  • 播放短音时IE10和IE11"口吃":它们只播放一小段时间,然后暂停,然后继续播放.对最终用户的影响是音频难以理解.(audios有preload="auto"并报告非零缓冲区.)

当然,没有实用的方法来检测这些问题,因此浏览器检测.我一般认为用户代理嗅探对于生产代码来说过于冒险; 这项@cc_on技术似乎更加强大.

我对IE9的解决方法是将应用程序状态sessionStorage序列化为第25个声音,然后重新加载页面并反序列化.

在IE10/11中,我的解决方法是以0音量播放最后90%的音频,这似乎迫使IE 实际缓冲文件.

javascript internet-explorer internet-explorer-11

11
推荐指数
1
解决办法
2818
查看次数

CSS3填充顶部和底部仅适用于Chrome

我一直在网上搜索只有铬的解决方案.我只需要修改Chrome中样式表中的内容,但我似乎无法找到我在网上或在stackoverflow上找到的内容.Chrome左右填充有以下内容

-webkit-填充启动

-webkit-填充端

但是,顶部和底部有什么东西吗?或者,我运气不好?

css webkit google-chrome css3

8
推荐指数
1
解决办法
3万
查看次数

jQuery UI Datepicker - 未捕获的TypeError:无法读取未定义的属性'msie'

我在WordPress中开发了一个网站并安装了Gravity Forms插件(http://www.gravityforms.com/).我在页面上添加了一个书籍在线表单,但是当点击时,datepicker在控制台中返回以下错误:

未捕获的TypeError:无法读取未定义的属性"msie"

http://ultimatepaintball.com.au/packages/book-online/

以前有没有人遇到过这个问题?我在某处看到jQuery 1.9和$ .browser可能存在问题,但即使我回到1.8.3,这个问题仍然存在.

谢谢.

javascript wordpress jquery jquery-ui

7
推荐指数
1
解决办法
2万
查看次数

jQuery最新的$ .browser

可能重复:
jQuery $ .browser是否已弃用?

最新的jQuery库是否改变了$.browser
当我在firefox中运行此(小提琴)时,我在控制台中收到错误:TypeError: obj is undefined

jquery

5
推荐指数
1
解决办法
4176
查看次数

未捕获的TypeError:无法读取未定义的属性'safari'

我有这个jjavascript来调整iframe的大小:

 $(function () {

            var iFrames = $('iframe');

            function iResize() {

                for (var i = 0, j = iFrames.length; i < j; i++) {
                    iFrames[i].style.height = iFrames[i].contentWindow.document.body.offsetHeight + 'px';
                }
            }

            if ($.browser.safari || $.browser.opera) {

                iFrames.load(function () {
                    setTimeout(iResize, 0);
                });

                for (var i = 0, j = iFrames.length; i < j; i++) {
                    var iSource = iFrames[i].src;
                    iFrames[i].src = '';
                    iFrames[i].src = iSource;
                }

            } else {
                iFrames.load(function () {
                    this.style.height = this.contentWindow.document.body.offsetHeight + 'px';
                });
            }

        }); …
Run Code Online (Sandbox Code Playgroud)

javascript jquery

5
推荐指数
1
解决办法
2万
查看次数