summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAleksander Machniak <alec@alec.pl>2013-03-22 18:53:24 +0100
committerAleksander Machniak <alec@alec.pl>2013-03-22 18:53:24 +0100
commit39f40104f06cdcd9b8153b9fa4a32e5a7686bbb2 (patch)
treeb1f09c4fe5eeab3ec7bf0037252c4ca8b2f1090e
parent3d525ffaf5b36fc74c5a9fa9ed317bcfdd32e19a (diff)
Fix javascript error in IE9 when loading form with placeholders into an iframe (#1489008)
-rw-r--r--CHANGELOG1
-rw-r--r--program/js/common.js15
2 files changed, 12 insertions, 4 deletions
diff --git a/CHANGELOG b/CHANGELOG
index 541069004..bcbe2643e 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,6 +1,7 @@
CHANGELOG Roundcube Webmail
===========================
+- Fix javascript error in IE9 when loading form with placeholders into an iframe (#1489008)
- Fix handling of some conditional comment tags in HTML message (#1489004)
- Add rel="noreferrer" for links in displayed messages (#1484686)
- Fix so forward as attachment works if additional attachment is added by message_compose hook (#1489000)
diff --git a/program/js/common.js b/program/js/common.js
index f9e945c05..7ad1891ec 100644
--- a/program/js/common.js
+++ b/program/js/common.js
@@ -720,10 +720,12 @@ jQuery.fn.placeholder = function(text) {
var elem = $(this);
this.title = text;
+ // Try HTML5 placeholder attribute first
if ('placeholder' in this) {
- elem.attr('placeholder', text); // Try HTML5 placeholder attribute first
+ elem.attr('placeholder', text);
}
- else { // Fallback to Javascript emulation of placeholder
+ // Fallback to Javascript emulation of placeholder
+ else {
this._placeholder = text;
elem.blur(function(e) {
if ($.trim(elem.val()) == "")
@@ -740,8 +742,13 @@ jQuery.fn.placeholder = function(text) {
elem[(active ? 'addClass' : 'removeClass')]('placeholder').attr('spellcheck', active);
});
- if (this != document.activeElement) // Do not blur currently focused element
- elem.blur();
+ // Do not blur currently focused element
+ // Catch "unspecified error" in IE9 (#1489008)
+ try {
+ if (this != document.activeElement)
+ elem.blur();
+ }
+ catch(e) {}
}
});
};