javascript - 未捕获的类型错误 : Cannot read property 'safari' of undefined

标签 javascript jquery

我有这个 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';
                });
            }

        });

在 chrome 中,这里有问题:

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

我收到这个错误有什么原因吗?我使用的是最新的 JQuery?

谢谢

最佳答案

您可能正在使用 jQuery 1.9 或更高版本,在这种情况下 $.browser自 1.3 起被弃用后被正式删除。

您可以使用 jQuery migrate这将修补它,但最好转向特定于功能的方法而不是特定于浏览器的方法。 Modernizr非常适合这个。

关于javascript - 未捕获的类型错误 : Cannot read property 'safari' of undefined,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15011729/

相关文章:

javascript - 制表符添加每行带有按钮的列

javascript - 似乎无法将 Angular-JWT 注入(inject)工厂

jquery - 如何通过 $.get 使用图像加载器

java - 将变量从 JSP 传递到 javascript 文件

javascript - 将文本和后面的字母替换为其他文本

javascript - 将 HTML 片段加载到 Electron 中

JavaScript - 将动态键中的键/值数据获取到动态键中

javascript - 使用 jQuery 创建带有 JSON 结果的分组动态行

jQuery 树插件

jQuery如何通过点击快速改变div的颜色