Execute Javascript not working anymore on web, previously it did
Jul 16, 2018
For the last 2 years i have been using storyline to create the courses the users of my web have to do.
Basically when the course ends it executes a simple code letting the web know if the users passed the test or not and allowing the web to save the result in our database. It has been working like this for a long time and now all of a sudden it stopped working.
When the course ends, i get this error when it tries to execute the call:
actionator::exeJavaScript - Blocked a frame with origin "https://myWeb.com" from accessing a cross-origin frame.
I know its an issue with the cross-origin but the courses are uploaded on an internal folder of the web on the same server.
Also, its not an issue of javascript nor the web since it has been tested out without the course and it works perfectly. The issue is the execution of javascript
Any help wpuld be much apreciated since my clients are getting anxious about this issue
5 Replies
Are you executing javascript commands typed in the Execute JS trigger? Or is it external? I had to work out issues recently with the new cross-origin implementation from browser. It also included issues reading CSS files, even if they were on the same server.
Hi Zsolt Olah, im executing commands typed in the Execute JS trigger at the end of the course. Testing the course directly from the published output works fine, the trouble starts when running it inside an <Iframe>
We experienced similar issues calling a resource with JS to display in a frame. Turns out that a server was migrated and the admin applied some stricter security measures than before. Particularly with the 'X-Frame Options' setting. Once he rolled it back, we were fine. Not sure if it helps, but I'll put it out there as a possibility.
Thanks David, i will take a look into this and let you know if it solves the issue
Well, we mannaged to find the solution. We changed the way we were trying to execute the code, instead we tried sending a message and it worked.
the new code inside the JS trigger:
window.parent.postMessage("1", '*');
and the new code in the targeted web:
window.addEventListener('message', function (event) {
alert(event.data)
});
This discussion is closed. You can start a new discussion or contact Articulate Support.