试图追踪错误的图像替换错误。在原始 img 源中弹出不同大小的图像。
不幸的是,在我的电脑上,无论浏览器(Firefox、chrome、safari)如何,错误都是“无声的”,不会导致问题。
但是,使用 firebug 和 chrome 工具对其进行跟踪,似乎表明这是因为 Firefox 中出现“未找到节点”错误(chrome: “NOT_FOUND_ERR: DOM Exception 8”)
这应该是来自 WordPress 插件 jigoshop 的所有标准代码。这可能是因为无论是谁把图像放在首位,都不了解图像大小的关系。
无论如何,它在这里被打破:
document.body.removeChild(this.node);
这里大约 13 行(jquery.jqzoom-core.js 中的第 653 行)
this.fetchdata = function () {
var image = $(this.node);
var scale = {};
this.node.style.display = 'block';
$obj.w = image.width();
$obj.h = image.height();
$obj.pos = image.offset();
$obj.pos.l = image.offset().left;
$obj.pos.t = image.offset().top;
$obj.pos.r = $obj.w + $obj.pos.l;
$obj.pos.b = $obj.h + $obj.pos.t;
scale.x = ($obj.w / smallimage.w);
scale.y = ($obj.h / smallimage.h);
el.scale = scale;
document.body.removeChild(this.node);
$('.zoomWrapperImage', el).empty().append(this.node);
//setting lens dimensions;
lens.setdimensions();
};
找不到的节点是:,这里加载html后找到的:
<div class="zoomWrapperImage" style="width: 100%; height: 496px;">
<img style="position: absolute; border: 0px none; display: block; left: -5000px; top: 0px;" src="http://xyz.com/shop/wp-content/uploads/2011/10/go-291x496.jpg">consoleName="jQuery.data"consoleKind="Element"consoleFramework="jQueryUI-1"consoleId="73"
</div>
我对 jquery 的研究太多了。所以,2个问题:
- 如何解决这个确切的问题?
- 修复此类错误的一般过程是什么?