I have an xaf app that is being hosted within an iframe from a different domain. Meaning that attempts to access the window object from within the iframe will cause Access denied errors.
My app is a detail view with an associated list view. When I move my mouse over the listview, it raises an exception in the function xafMM() when it attempts to access the window object. When I debug the page, I can see that there are onmousemove events that call this function (as well as onmousedown and others).
The function is in the C:\Program Files (x86)\DevExpress\DXperience 13.1\Sources\DevExpress.ExpressApp\DevExpress.ExpressApp.Web\Resources\CommonFunctions.js and there are several other references to the window object in this javascript file. Could those be wrapped in try catch to avoid javascript Access Denied exceptions when in this scenario?
Alternatively, is there a way I can hook into the cells and rows at the time of page creation to modify the onmousemove attribute myself? I was able to get into the Grid.HtmlRowCreated and add attributes to the row. I could also iterate through the cells, but it appears that when I add attributes to the cells, they get blasted by some processing that is happening later within the xaf framework.
I appreciate any help.
Thanks.
Correction. It appears that the access denied error is actually coming from the function: document.selection.createRange().text and is only appearing IE.
Apparently it is a known issue in IE 9 that if the document.selection.type == "None" or if its a hidden element that it will throw an access is denied error. I found references to workarounds here: https://github.com/tinymce/tinymce/pull/122/files which basically wrap it in a try catch.
So, I beleive this is still something DevExpress should address in their CommonFunctions.js. Agreed?