Date/Time Picker trouble following upgrade to 7.3 in Internet Explorer

Hello,

Since upgrading to 7.3, we've found that our time-picker has stopped working for appointments and tasks. it used to display a list with each half hour interval, but it will no longer display. This pop-up worked previously in IE11 when we were on version 7.2.

This problem only occurs in Internet Explorer, for all 4 of our Sage CRM servers, for all users across all themes in Sage CRM. If I run the Developer Tools, I can see this error:

Object doesn't support property or method 'createPopup'

I've attached the script we use, if someone could please offer some advice?

Thanks

Hannah

  • 0

    Hi Hannah,

    I have seen this before, but I am not 100% sure of which setting in IE config was responsible for fixing it, as it was a while back. For any browser related / display issues, I usually ensure the below is in place:

    1. Ensure your CRM website is a trusted site within IE

    2. Ensure the browser is set to load a new version of the CRM website each time that you load up IE, rather than a cached version

    3. Turn off popup blocker

    4. Ensure security settings in the Security tab are set to low

    5. Ensure the CRM website is included in Compatibility view settings

    9/10 the above will resolve these types of display issues. Might not work on this occasion, but its worth a go, if you haven't already tried these. If it happens for all users though, it may be something that has occurred directly because of the upgrade.

    Thanks,

    Ben

  • 0

    Hi Ben,

    I've just been through your suggestions and unfortunately we still encounter this problem. However, I do appreciate your help and advice!

    Thanks

    Hannah

  • 0

    Hi Hannah,

    Did you find where the issue lies with this yet?

    If not, here is a stackoverflow.com workaround for the window.createPopup() which no longer works in IE 11. stackoverflow.com/.../a-universal-createpopup-replacement

    HTH

    Regards,

    Penny

  • 0

    Has this been reported to Sage? We have the same issue and I'm going to enter a support ticket.

  • 0

    Hi Hollie,

    There's no problem with the Time/Date picker in IE11 if you turn off Compatibility Mode - unfortunately Compatibility Mode isn't supported for SageCRM anymore. I suspect that raising a call with Sage wouldn't get you very far if you're in the same boat as us.

    Thanks

    Hannah

  • 0

    Sage gave me the same advice you did. I guess that's our only option for now, and hope it doesn't affect other IE applications.

  • 0

    Hi,

    I recently experienced this issue. And below is the workaround how I fixed it.

    1. Go to CRM folder in the machine you have installed the SAGE. ( ..\CRM\CRM\WWWRoot\js\crm)
    2. Find the "crmPopup.js" file and add below js code snippet in the beginning of the file. (I referred someone else answer related to creating a replacement for createPopup() functionality and modified to use it for Sage)

    /* Create custom popup */

    if (!window.createPopup) {
    window.createPopup = function () {
    var popup = document.createElement("iframe"), //must be iframe because existing functions are being called like parent.func()
    isShown = false, popupClicked = false;
    popup.src = "about:blank";
    popup.style.position = "absolute";
    popup.style.border = "0px";
    popup.style.display = "none";
    popup.style.overflow = "hidden";
    popup.scrolling = "no";
    popup.addEventListener("load", function (e) {
    popup.document = (popup.contentWindow || popup.contentDocument);//this will allow us to set innerHTML in the old fashion.
    if (popup.document.document) popup.document = popup.document.document;
    });
    document.body.appendChild(popup);
    var hidepopup = function (event) {
    if (isShown)
    setTimeout(function () {
    if (!popupClicked) {
    popup.hide();
    }
    popupClicked = false;
    }, 150);//timeout will allow the click event to trigger inside the frame before closing.
    }

    popup.show = function (x, y, w, h, pElement) {

    if (typeof (x) !== 'undefined') {
    var elPos = [0, 0];

    elPos[0] = pElement.getBoundingClientRect().left - 10;
    elPos[1] = pElement.getBoundingClientRect().bottom - 5;
    if (isNaN(w)) w = popup.document.scrollWidth;
    if (isNaN(h)) h = popup.document.scrollHeight;
    if (elPos[0] + w > document.body.clientWidth) elPos[0] = document.body.clientWidth - w - 5;

    popup.style.left = elPos[0] + "px";
    popup.style.top = elPos[1] + "px";
    popup.style.width = pElement.getBoundingClientRect().width + 10 + "px";
    popup.style.height = "100%";
    }
    popup.style.display = "block";
    isShown = true;
    }

    popup.hide = function () {
    isShown = false;
    popup.style.display = "none";
    }

    window.addEventListener('wheel', hidepopup, true);

    return popup;
    }
    }

    Hope this would be helpful. You can do enhancements to the code. Please let me know your idea