我有这个 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/