Hello! Is anyone else have issues with launching URLs when using Chrome 48?
Here is the scenario in Chrome:
Log into LMS. (Window 1, Tab 1)
Launch course. It opens in a separate window. (Window 2, Tab 1)
Click a button/link to launch a separate URL. It opens in the original window in another tab. (Window 1, Tab 2).
When this happens, Window 2, which contains the tab with the in-progress course, is auto-minimized so the learner thinks that the tab with the new URL replaced the course.
In IE, the LMS, course, and launched URL(s), all behave as expected (opening in separate tabs in one window; or, in separate windows depending on the PC settings).
Hi, Sandy -- So sorry to hear of your troubles! As you've mentioned that you are having difficulties from your LMS, may I ask if you are seeing the same behavior when you test your course in the SCORM Cloud? You may also find this article on troubleshooting LMS issue to be helpful: How to Troubleshoot Your LMS with SCORM Cloud.
And also, could you possibly share the name of the LMS you are using? That way, in case others in the community utilize the same service, they would be able to share their advice or experiences. :)
Hi, Sandy -- Thanks so much for your response! I discussed this with a colleague, and how links or new windows and tabs are generated can be user-specific based on the browser, and how the LMS is telling it to access a link, as well. So, it's not a setting specific to Storyline, even though you can add hyperlinks and set browser options; the browser may still override it. Please see this article for additional details.
Thanks for your response. The issue is new to courses launching through the
LMS in Chrome. For example, I have not changed my settings in Chrome, but
the behavior is now different than it was before.
I am wondering if anyone else is having this experience and what they are
doing about it. From a learner's perspective, the experience is different
and so therefore confusing and is causing inbound calls to LMS
administrators/training teams.
I believe this might be an issue with Chrome itself. We saw this last week with our LMS. IE11 and FF both launch links in a new window, where Chrome likes to open them in a new tab, which confuses the user. We have not yet found a resolution.
Yep. I've run into this in the past. SL1 and SL2 use different opener functions. SL1's opener worked OK with Chrome. SL2's will try to open in a new tab. To fix this, I added the opener function from SL1 to a Javascript trigger that runs when the page opens. Copy and paste the below into a trigger that runs before you launch the links that open a new window.
Thanks so much, Steve! Definitely an option to think about.
This particular project has over 25 URLs that links to different resources. I am not an expert at changing the java script, but I believe I would need to complete this step each and every time I publish, correct?
Do you know if Articulate is contemplating adding this SL1 function into SL2?
If you add it to a trigger that is hit for sure every time the published output is launched, only need to do it once. It could be added to the slide master but this would swell the size of your user.js file.
The other way to do this is to overwrite the player template. In the SL program directory / Content folder you'll find a file called player.js. On or about line 826, the openURL function can be overwritten with the SL1 window open code. Saving this will add it to publish every time. The downside here, is if the client or someone else opens the file to republish it will magically stop working again.
Caveat on the previous suggestion of editing the player template... Definitely not supported by Articulate. So be sure to backup your original player.js file. Fidgeting with these files can cause headaches and could require a reinstallation if something goes off the rails. YMMV.
Using Chrome 48 our courses now launch in a new tab rather than new window - is this related? Is Chrome likely to undo the chage since 47 or do we have to go get our developers to go down the code route?
15 Replies
Hi, Sandy -- So sorry to hear of your troubles! As you've mentioned that you are having difficulties from your LMS, may I ask if you are seeing the same behavior when you test your course in the SCORM Cloud? You may also find this article on troubleshooting LMS issue to be helpful: How to Troubleshoot Your LMS with SCORM Cloud.
And also, could you possibly share the name of the LMS you are using? That way, in case others in the community utilize the same service, they would be able to share their advice or experiences. :)
Thanks for your response. Yes, we are having the same behavior when testing
in SCORM Cloud in Chrome 48.
I have had this experience with both NetDimensions and Absorb LMSs.
If you have any advice or thoughts on how to continue troubleshooting, I
will be most appreciative.
Hi, Sandy -- Thanks so much for your response! I discussed this with a colleague, and how links or new windows and tabs are generated can be user-specific based on the browser, and how the LMS is telling it to access a link, as well. So, it's not a setting specific to Storyline, even though you can add hyperlinks and set browser options; the browser may still override it. Please see this article for additional details.
Hello,
Thanks for your response. The issue is new to courses launching through the
LMS in Chrome. For example, I have not changed my settings in Chrome, but
the behavior is now different than it was before.
I am wondering if anyone else is having this experience and what they are
doing about it. From a learner's perspective, the experience is different
and so therefore confusing and is causing inbound calls to LMS
administrators/training teams.
Thanks for any additional insights.
I believe this might be an issue with Chrome itself. We saw this last week with our LMS. IE11 and FF both launch links in a new window, where Chrome likes to open them in a new tab, which confuses the user. We have not yet found a resolution.
Thank you, Mike B.!
Please continue to post information as you find it and we will do the same.
Here is a related thread, but unfortunately it does not pose any solution: https://community.articulate.com/discussions/articulate-storyline/storyline-chrome-the-only-browser-opening-links-in-a-tab-instead-of-new-window
Other links I've read state that Chrome's behavior could be changed by editing the Windows registry...great.
Hi Sandy -
Yep. I've run into this in the past. SL1 and SL2 use different opener functions. SL1's opener worked OK with Chrome. SL2's will try to open in a new tab. To fix this, I added the opener function from SL1 to a Javascript trigger that runs when the page opens. Copy and paste the below into a trigger that runs before you launch the links that open a new window.
////////////////////////////////////////////////////////////////////////////////
// Open Url
////////////////////////////////////////////////////////////////////////////////
OpenUrl=function(strUrl, strWindow, strWindowSize, strWidth, strHeight, strUseDefaultControls, strStatus, strToolbar, strLocation, strMenubar, strScrollbars, strResizable)
{
var nWndWidth = parseInt(strWidth);
var nWndHeight = parseInt(strHeight);
var bUseDefaultSize = (strWindowSize.toLowerCase() == "default");
var bUseDefaultControls = (strUseDefaultControls.toLowerCase() == "true");
var bFullScreen = (strWindowSize.toLowerCase() == "fullscreen");
strUrl = ReplaceAll(strUrl, "%25", "?");
if (bFullScreen)
{
nWndWidth = screen.availWidth;
nWndHeight = screen.availHeight;
}
else
{
if (nWndWidth > screen.availWidth)
{
nWndWidth = screen.availWidth;
}
if (nWndHeight > screen.availHeight)
{
nWndHeight = screen.availHeight;
}
}
var strOptions = "";
if (!bUseDefaultControls)
{
if (!bUseDefaultSize)
{
strOptions += "width=" + nWndWidth + ", ";
strOptions += "height=" + nWndHeight + ", ";
}
strOptions += "status=" + ((strStatus.toLowerCase() == "true") ? 1 : 0);
strOptions += ", toolbar=" + ((strToolbar.toLowerCase() == "true") ? 1 : 0);
strOptions += ", scrollbars=" + ((strScrollbars.toLowerCase() == "true") ? 1 : 0);
strOptions += ", resizable=" + ((strResizable.toLowerCase() == "true") ? 1 : 0);
strOptions += ", alwaysRaised=1";
}
else
{
strOptions += "status=1";
strOptions += ", toolbar=1";
strOptions += ", scrollbars=1";
strOptions += ", resizable=1";
strOptions += ", alwaysRaised=1";
}
var oNewWnd;
if (bUseDefaultSize && bUseDefaultControls)
{
g_wndLast = window.open(strUrl, strWindow, strOptions);
}
else if (bUseDefaultControls)
{
if (IE)
{
oNewWnd = window.open(GetBasePath() + g_strContentFolder + "/blank.html", strWindow, "alwaysRaised=true");
if (bFullScreen)
{
oNewWnd.moveTo(0, 0);
}
oNewWnd.resizeTo(nWndWidth, nWndHeight);
oNewWnd.document.location = strUrl;
}
else
{
oNewWnd = window.open(strUrl, strWindow, "alwaysRaised=true");
oNewWnd.resizeTo(nWndWidth, nWndHeight);
}
g_wndLast = oNewWnd;
}
else
{
oNewWnd = window.open(strUrl, strWindow, strOptions);
g_wndLast = oNewWnd;
}
if (bFullScreen && !(bUseDefaultControls && IE))
{
oNewWnd.moveTo(0, 0);
}
}
This is excellent Steve! I'm going to add this to a test course to see how it works for us.
Thanks so much, Steve! Definitely an option to think about.
This particular project has over 25 URLs that links to different resources. I am not an expert at changing the java script, but I believe I would need to complete this step each and every time I publish, correct?
Do you know if Articulate is contemplating adding this SL1 function into SL2?
You rock!
If you add it to a trigger that is hit for sure every time the published output is launched, only need to do it once. It could be added to the slide master but this would swell the size of your user.js file.
The other way to do this is to overwrite the player template. In the SL program directory / Content folder you'll find a file called player.js. On or about line 826, the openURL function can be overwritten with the SL1 window open code. Saving this will add it to publish every time. The downside here, is if the client or someone else opens the file to republish it will magically stop working again.
Caveat on the previous suggestion of editing the player template... Definitely not supported by Articulate. So be sure to backup your original player.js file. Fidgeting with these files can cause headaches and could require a reinstallation if something goes off the rails. YMMV.
Steve Flowers... What about the other option to open the URL in the same browser window? Have you noticed this behavior with that using that option?
Using Chrome 48 our courses now launch in a new tab rather than new window - is this related? Is Chrome likely to undo the chage since 47 or do we have to go get our developers to go down the code route?
Hi Saul,
I can't speak to the changes in Chrome, but it's a browser specific setting, so I'd recommend looking into the options that Steve shared above.
This discussion is closed. You can start a new discussion or contact Articulate Support.