我正在尝试更改iframe中的链接以在新窗口中加载而不是iframe本身。目前我在head
:
$(document).ready(function() {
var oIFrame = document.getElementById("iframeID");
var oDoc = (oIFrame.contentWindow || oIFrame.contentDocument);
if(oDoc.document) oDoc = oDoc.document;
var links = oDoc.getElementsByTagName("a");
for(var i=0; i<links.length; i++) { links[i].target="_blank"; }
});
但是,上述代码是在iframe完全加载其内容之前触发的。我知道这个代码在body onload属性中被触发时会起作用,但是我想避免使用该方法并在函数或文件中实现它。
答案 0 :(得分:2)
尝试
$("#iframeid").load(function(){
// your code
});
答案 1 :(得分:0)
快来:
$(document).ready(function() {
var oIFrame = document.getElementById("iframeID");
var oDoc = (oIFrame.contentWindow || oIFrame.contentDocument);
if(oDoc.document) oDoc = oDoc.document;
$(oDoc).ready(function(){
var links = oDoc.getElementsByTagName("a");
for(var i=0; i<links.length; i++) { links[i].target="_blank"; }
}
});
答案 2 :(得分:0)
您可以定期设置超时功能,检查是否
iframe.document.readyState == 'complete'