動的に追加された Iframe にフォームを追加すると、散発的に IE で Mixed Content Waring メッセージが表示されます (これが主な頭痛の種であるとは限りません)。(基本的に、このロジックを含む 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;
}
洞察の提案は本当に役に立ちます。また、追加情報が必要な場合はお知らせください。