我已经和它斗争了几天,似乎无法解决这个问题。我有几个htmls(都驻留在同一个域中),我加载到父页面内的div作为iframes。然后我尝试从每个iframe中提取标题并将它们推入一个数组,然后删除iframe。一切都很好,除了pageTitles数组填充了许多空字符串。谢谢!
var currentPage = 0;
var pages = new Array("page1.html", "page2.html", "page3.html", "page4.html");
var maxPages = pages.length;
var pageTitles = [];
for (i=0; i < maxPages; i++){
var iframe = document.createElement('iframe');
iframe.frameBorder=1;
iframe.width = "400px";
iframe.height = "50px";
iframe.id="childFrame"+i;
var frameTitle = iframe.id;
iframe.setAttribute("src", pages[i]);
document.getElementById("hidden").appendChild(iframe);
//pageTitles.push(window.frames[i].document.title); // tried this with no luck
pageTitles.push($("#"+frameTitle).contents().find("title").text());
//pageTitles.push(document.getElementById(frameTitle)[0].document.title); // this is probably completely wrong, but thought I'd try it anyway
document.getElementById("hidden").removeChild(iframe);
}
答案 0 :(得分:2)
你必须等待加载iframe。只有这样,您才能获取内容值。这可能有所帮助。
$_REQUEST["i18n[1][name]"]
答案 1 :(得分:1)
非常确定iframe内容尚未加载,因此无法获取标题。包含一个onload回调,让该回调确定iframe的名称,然后销毁iframe并加载下一个。