在将表单添加到动态添加的 Iframe 时,我偶尔会在 IE 中收到混合内容警告消息(并非总是如此,这是主要的头痛)。(基本上我使用的是包含此逻辑的 filedownload jquery 插件 - http://jqueryfiledownload.apphb.com/)。
下面是代码。其中 fileUrl 是指向同一站点中页面的 https 链接。HttpMethod 是 POST。
当我在调试时复制问题时,我发现警告出现在 formDoc.write 行。
$iframe = $("<iframe style='display: none' src=\"javascript:''\"></iframe>").appendTo("body");
formDoc.write("<html><head></head><body><form method='" + settings.httpMethod + "' action='" + fileUrl + "'>" + formInnerHtml + "</form>" + settings.popupWindowTitle + "</body></html>");
$form = $(formDoc).find('form');
$form.submit();
function getiframeDocument($iframe) {
var iframeDoc = $iframe[0].contentWindow || $iframe[0].contentDocument;
if (iframeDoc.document) {
iframeDoc = iframeDoc.document;
}
return iframeDoc;
}
任何洞察力建议都会非常有帮助。另外,如果需要其他信息,请告诉我。