remove old IE support crap from WMD Editor
we barely support IE9 this does not matter at all
This commit is contained in:
parent
053e3fca20
commit
7bbf7d02e3
|
@ -40,11 +40,6 @@
|
||||||
nav = window.navigator,
|
nav = window.navigator,
|
||||||
SETTINGS = { lineLength: 72 },
|
SETTINGS = { lineLength: 72 },
|
||||||
|
|
||||||
// Used to work around some browser bugs where we can't use feature testing.
|
|
||||||
uaSniffed = {
|
|
||||||
isIE: /msie/.test(nav.userAgent.toLowerCase()),
|
|
||||||
isIE_5or6: /msie 6/.test(nav.userAgent.toLowerCase()) || /msie 5/.test(nav.userAgent.toLowerCase())
|
|
||||||
};
|
|
||||||
|
|
||||||
var defaultsStrings = {
|
var defaultsStrings = {
|
||||||
bold: "Strong <strong> Ctrl+B",
|
bold: "Strong <strong> Ctrl+B",
|
||||||
|
@ -335,43 +330,21 @@
|
||||||
// Returns true if the DOM element is visible, false if it's hidden.
|
// Returns true if the DOM element is visible, false if it's hidden.
|
||||||
// Checks if display is anything other than none.
|
// Checks if display is anything other than none.
|
||||||
util.isVisible = function (elem) {
|
util.isVisible = function (elem) {
|
||||||
|
return window.getComputedStyle(elem, null).getPropertyValue("display") !== "none";
|
||||||
if (window.getComputedStyle) {
|
|
||||||
// Most browsers
|
|
||||||
return window.getComputedStyle(elem, null).getPropertyValue("display") !== "none";
|
|
||||||
}
|
|
||||||
else if (elem.currentStyle) {
|
|
||||||
// IE
|
|
||||||
return elem.currentStyle["display"] !== "none";
|
|
||||||
}
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
// Adds a listener callback to a DOM element which is fired on a specified
|
// Adds a listener callback to a DOM element which is fired on a specified
|
||||||
// event.
|
// event.
|
||||||
util.addEvent = function (elem, event, listener) {
|
util.addEvent = function (elem, event, listener) {
|
||||||
if (elem.attachEvent) {
|
elem.addEventListener(event, listener, false);
|
||||||
// IE only. The "on" is mandatory.
|
|
||||||
elem.attachEvent("on" + event, listener);
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
// Other browsers.
|
|
||||||
elem.addEventListener(event, listener, false);
|
|
||||||
}
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
// Removes a listener callback from a DOM element which is fired on a specified
|
// Removes a listener callback from a DOM element which is fired on a specified
|
||||||
// event.
|
// event.
|
||||||
util.removeEvent = function (elem, event, listener) {
|
util.removeEvent = function (elem, event, listener) {
|
||||||
if (elem.detachEvent) {
|
elem.removeEventListener(event, listener, false);
|
||||||
// IE only. The "on" is mandatory.
|
|
||||||
elem.detachEvent("on" + event, listener);
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
// Other browsers.
|
|
||||||
elem.removeEventListener(event, listener, false);
|
|
||||||
}
|
|
||||||
};
|
};
|
||||||
|
|
||||||
// Converts \r\n and \r to \n.
|
// Converts \r\n and \r to \n.
|
||||||
|
@ -454,21 +427,8 @@
|
||||||
scrollHeight = doc.body.offsetHeight;
|
scrollHeight = doc.body.offsetHeight;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (self.innerHeight) {
|
innerWidth = self.innerWidth;
|
||||||
// Non-IE browser
|
innerHeight = self.innerHeight;
|
||||||
innerWidth = self.innerWidth;
|
|
||||||
innerHeight = self.innerHeight;
|
|
||||||
}
|
|
||||||
else if (doc.documentElement && doc.documentElement.clientHeight) {
|
|
||||||
// Some versions of IE (IE 6 w/ a DOCTYPE declaration)
|
|
||||||
innerWidth = doc.documentElement.clientWidth;
|
|
||||||
innerHeight = doc.documentElement.clientHeight;
|
|
||||||
}
|
|
||||||
else if (doc.body) {
|
|
||||||
// Other versions of IE
|
|
||||||
innerWidth = doc.body.clientWidth;
|
|
||||||
innerHeight = doc.body.clientHeight;
|
|
||||||
}
|
|
||||||
|
|
||||||
var maxWidth = Math.max(scrollWidth, innerWidth);
|
var maxWidth = Math.max(scrollWidth, innerWidth);
|
||||||
var maxHeight = Math.max(scrollHeight, innerHeight);
|
var maxHeight = Math.max(scrollHeight, innerHeight);
|
||||||
|
@ -496,7 +456,7 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!uaSniffed.isIE || mode != "moving") {
|
if (mode != "moving") {
|
||||||
timer = setTimeout(refreshState, 1);
|
timer = setTimeout(refreshState, 1);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
@ -599,9 +559,7 @@
|
||||||
|
|
||||||
if ((event.ctrlKey || event.metaKey) && !event.altKey) {
|
if ((event.ctrlKey || event.metaKey) && !event.altKey) {
|
||||||
|
|
||||||
// IE and Opera do not support charCode.
|
var keyCodeChar = String.fromCharCode(event.charCode);
|
||||||
var keyCode = event.charCode || event.keyCode;
|
|
||||||
var keyCodeChar = String.fromCharCode(keyCode);
|
|
||||||
|
|
||||||
switch (keyCodeChar.toLowerCase()) {
|
switch (keyCodeChar.toLowerCase()) {
|
||||||
|
|
||||||
|
@ -681,7 +639,7 @@
|
||||||
});
|
});
|
||||||
|
|
||||||
var handlePaste = function () {
|
var handlePaste = function () {
|
||||||
if (uaSniffed.isIE || (inputStateObj && inputStateObj.text != panels.input.value)) {
|
if (inputStateObj && inputStateObj.text != panels.input.value) {
|
||||||
if (timer == undefined) {
|
if (timer == undefined) {
|
||||||
mode = "paste";
|
mode = "paste";
|
||||||
saveState();
|
saveState();
|
||||||
|
@ -1043,24 +1001,6 @@
|
||||||
|
|
||||||
var isFirstTimeFilled = true;
|
var isFirstTimeFilled = true;
|
||||||
|
|
||||||
// IE doesn't let you use innerHTML if the element is contained somewhere in a table
|
|
||||||
// (which is the case for inline editing) -- in that case, detach the element, set the
|
|
||||||
// value, and reattach. Yes, that *is* ridiculous.
|
|
||||||
var ieSafePreviewSet = function (previewText) {
|
|
||||||
var ieSafeSet = function(panel, text) {
|
|
||||||
var parent = panel.parentNode;
|
|
||||||
var sibling = panel.nextSibling;
|
|
||||||
parent.removeChild(panel);
|
|
||||||
panel.innerHTML = text;
|
|
||||||
if (!sibling)
|
|
||||||
parent.appendChild(panel);
|
|
||||||
else
|
|
||||||
parent.insertBefore(panel, sibling);
|
|
||||||
};
|
|
||||||
|
|
||||||
ieSafeSet(panels.preview, previewText);
|
|
||||||
}
|
|
||||||
|
|
||||||
var nonSuckyBrowserPreviewSet = function (previewText) {
|
var nonSuckyBrowserPreviewSet = function (previewText) {
|
||||||
panels.preview.innerHTML = previewText;
|
panels.preview.innerHTML = previewText;
|
||||||
}
|
}
|
||||||
|
@ -1072,13 +1012,8 @@
|
||||||
if (previewSetter)
|
if (previewSetter)
|
||||||
return previewSetter(previewText);
|
return previewSetter(previewText);
|
||||||
|
|
||||||
try {
|
nonSuckyBrowserPreviewSet(previewText);
|
||||||
nonSuckyBrowserPreviewSet(previewText);
|
previewSetter = nonSuckyBrowserPreviewSet;
|
||||||
previewSetter = nonSuckyBrowserPreviewSet;
|
|
||||||
} catch (e) {
|
|
||||||
previewSetter = ieSafePreviewSet;
|
|
||||||
previewSetter(previewText);
|
|
||||||
}
|
|
||||||
};
|
};
|
||||||
|
|
||||||
var pushPreviewHtml = function (previewText) {
|
var pushPreviewHtml = function (previewText) {
|
||||||
|
@ -1097,14 +1032,7 @@
|
||||||
|
|
||||||
var fullTop = position.getTop(panels.input) - getDocScrollTop();
|
var fullTop = position.getTop(panels.input) - getDocScrollTop();
|
||||||
|
|
||||||
if (uaSniffed.isIE) {
|
window.scrollBy(0, fullTop - emptyTop);
|
||||||
setTimeout(function () {
|
|
||||||
window.scrollBy(0, fullTop - emptyTop);
|
|
||||||
}, 0);
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
window.scrollBy(0, fullTop - emptyTop);
|
|
||||||
}
|
|
||||||
};
|
};
|
||||||
|
|
||||||
var init = function () {
|
var init = function () {
|
||||||
|
@ -1135,24 +1063,12 @@
|
||||||
|
|
||||||
style.zIndex = "2000";
|
style.zIndex = "2000";
|
||||||
|
|
||||||
if (uaSniffed.isIE) {
|
style.opacity = "0.5";
|
||||||
style.filter = "alpha(opacity=50)";
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
style.opacity = "0.5";
|
|
||||||
}
|
|
||||||
|
|
||||||
var pageSize = position.getPageSize();
|
var pageSize = position.getPageSize();
|
||||||
style.height = pageSize[1] + "px";
|
style.height = pageSize[1] + "px";
|
||||||
|
style.left = "0";
|
||||||
if (uaSniffed.isIE) {
|
style.width = "100%";
|
||||||
style.left = doc.documentElement.scrollLeft;
|
|
||||||
style.width = doc.documentElement.clientWidth;
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
style.left = "0";
|
|
||||||
style.width = "100%";
|
|
||||||
}
|
|
||||||
|
|
||||||
doc.body.appendChild(background);
|
doc.body.appendChild(background);
|
||||||
return background;
|
return background;
|
||||||
|
@ -1279,11 +1195,6 @@
|
||||||
dialog.style.top = "50%";
|
dialog.style.top = "50%";
|
||||||
dialog.style.left = "50%";
|
dialog.style.left = "50%";
|
||||||
dialog.style.display = "block";
|
dialog.style.display = "block";
|
||||||
if (uaSniffed.isIE_5or6) {
|
|
||||||
dialog.style.position = "absolute";
|
|
||||||
dialog.style.top = doc.documentElement.scrollTop + 200 + "px";
|
|
||||||
dialog.style.left = "50%";
|
|
||||||
}
|
|
||||||
doc.body.appendChild(dialog);
|
doc.body.appendChild(dialog);
|
||||||
|
|
||||||
// This has to be done AFTER adding the dialog to the form if you
|
// This has to be done AFTER adding the dialog to the form if you
|
||||||
|
@ -1388,16 +1299,6 @@
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
// special handler because IE clears the context of the textbox on ESC
|
|
||||||
if (uaSniffed.isIE) {
|
|
||||||
util.addEvent(inputBox, "keydown", function (key) {
|
|
||||||
var code = key.keyCode;
|
|
||||||
if (code === 27) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// Perform the button's action.
|
// Perform the button's action.
|
||||||
function doClick(button) {
|
function doClick(button) {
|
||||||
|
@ -1465,19 +1366,6 @@
|
||||||
if (isEnabled) {
|
if (isEnabled) {
|
||||||
button.disabled = false
|
button.disabled = false
|
||||||
|
|
||||||
// IE tries to select the background image "button" text (it's
|
|
||||||
// implemented in a list item) so we have to cache the selection
|
|
||||||
// on mousedown.
|
|
||||||
if (uaSniffed.isIE) {
|
|
||||||
button.onmousedown = function () {
|
|
||||||
if (doc.activeElement && doc.activeElement !== panels.input) { // we're not even in the input box, so there's no selection
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
panels.ieCachedRange = document.selection.createRange();
|
|
||||||
panels.ieCachedScrollTop = panels.input.scrollTop;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!button.isHelp) {
|
if (!button.isHelp) {
|
||||||
button.onclick = function () {
|
button.onclick = function () {
|
||||||
if (this.onmouseout) {
|
if (this.onmouseout) {
|
||||||
|
|
Loading…
Reference in New Issue