У меня возникла странная проблема после создания всплывающего окна onclick
. Всплывающее окно открывается, но сразу же висит на IE8 (отлично работает во всех других браузерах, включая IE6). Но при добавлении поля alert
в качестве показа в коде JavaScript всплывающее окно отлично работает.IE8 неожиданно падает на JavaScript Всплывающее окно
Я использую
**https**
и не**http**
и я чувствую всплывающее окно не может загрузить файл JS изSSL
.
Вот как я порождающая onclick
событие:
<a id="forgotPasswordLink" href="#" onclick="openSupportPage();"> Some Text </a>
onclick
функция определяется следующим образом:
function openSupportPage() {
var features = "width=700,height=400,status=yes,toolbar=no,menubar=no,location=no,scrollbars=yes";
var winId = window.open('', '', features);
winId.focus();
winId.document.open();
winId.document.write('<html><head><title>' + document.title + '</title><link rel="stylesheet" href="./css/default.css" type="text/css">\n');
var is_ie6 = (
window.external && typeof window.XMLHttpRequest == "undefined");
alert(is_ie6);/*The JS include below*/
/*works in popup only with this alert box.*/
/*else IE8 Hangs*/
winId.document.write('<script src="../js/tiny_mce/tiny_mce.js" type="text/javascript">Script_IE8</script>\n');
winId.document.write('<script type="text/javascript">\n');
winId.document.write('function inittextarea() {\n');
winId.document.write('tinyMCE.init({ \n');
winId.document.write('elements : "content",\n');
winId.document.write('theme : "advanced",\n');
winId.document.write('readonly : true,\n');
winId.document.write('mode : "exact",\n');
winId.document.write('theme : "advanced",\n');
winId.document.write('readonly : true,\n');
winId.document.write('setup : function(ed) {\n');
winId.document.write('ed.onInit.add(function() {\n');
winId.document.write('tinyMCE.activeEditor.execCommand("mceToggleVisualAid");\n');
winId.document.write('});\n');
winId.document.write('}\n');
winId.document.write('});}</script>\n');
winId.document.write('</head><body onload="inittextarea()">\n');
winId.document.write(' \n');
var hiddenFrameHTML = document.getElementById("HiddenFrame").innerHTML;
hiddenFrameHTML = hiddenFrameHTML.replace(/&/gi, "&");
hiddenFrameHTML = hiddenFrameHTML.replace(/</gi, "<");
hiddenFrameHTML = hiddenFrameHTML.replace(/>/gi, ">");
winId.document.write(hiddenFrameHTML);
winId.document.write('<textarea id="content" rows="10" style="width:100%">\n');
winId.document.write(document.getElementById(top.document.forms[0].id + ":supportStuff").innerHTML);
winId.document.write('</textArea>\n');
var hiddenFrameHTML2 = document.getElementById("HiddenFrame2").innerHTML;
hiddenFrameHTML2 = hiddenFrameHTML2.replace(/&/gi, "&");
hiddenFrameHTML2 = hiddenFrameHTML2.replace(/</gi, "<");
hiddenFrameHTML2 = hiddenFrameHTML2.replace(/>/gi, ">");
winId.document.write(hiddenFrameHTML2);
winId.document.write('</body></html>\n');
winId.document.close();
}
Пожалуйста, помогите мне в этом. Я мог бы предоставить дополнительную информацию об этом, если это необходимо.
я ссылался на эти посты уже:
- Importing js file in https page using http URL in IE8
- Force Browser Mode=IE8 and document mode=IE8 Standards
Дополнительная информация:
Почему JavaScript в двух разных местах? '. /' текущий каталог и '../' родительский каталог – Nalum
, когда IE разбивается так, что это не странно? конечно, может быть странно видеть, что он работает так, как ожидалось ... –
@Nalum Я использую разные JS-файлы для этих браузеров. Но я мог бы объединить их. Но я мог объединить их, я попробовал с одним JS-файлом, и это не помогло. – dkris