我在这里查看了相关问题,但问题略有不同。
我正在跨嵌套 iframe 重写锚点,有时深度为 3 或 4 个 iframe。
在访问锚点之前,我使用 .load(function(){}) 等待每个加载。这在只深入一个 iframe 时效果很好,但在那之后就失败了。
这是代码:
function retarget_links( content ) {
content.find("a").attr("href","#") ;
var frame = content.find("iframe") ;
if ( frame.length ) {
frame.load(function() {
retarget_links( frame.contents() ) ;
})
}
}
retarget_links( $("body") ) ;
它递归地查找所有 iframe,但它只会为第一个执行 .load 回调。
任何想法为什么?
谢谢!
注意:所有 iframe 文档都在同一个域中——我可以通过控制台访问所有框架的内容。