URL Links not working in HTML5 Export

Hey there.

I’ve been working on making a website portfolio in UE4. Doing so, I’ve made UMG widgets and buttons that link to other webpages and links that I’m hosting on my site. As soon as I exported my site to HTML5 and uploaded it, these links break, and I receive an error that ends the javascript and force closes any interactivity with the site. This also happens when working from my local machine after exporting from UE4, though the links work fine when testing in editor. For the time being, I’m going to export a standard .exe and have it be downloadable from my site, but I’d really like to know if this problem has a solution. If not, I’ll put in a bug report.

Version: 4.7 preview 8
Emscripten is up to date (1.29 I believe?)
Windows 7 64-bit
Firefox Nightly 64-bit Browser

Site link to test for yourself: www.jacobbeauseigneur.com/64bit/PortfolioArcade

My error on link clicked:

Error: uncaught exception: abort() at
jsStackTrace@http://jacobbeauseigneur.com/64bit/UE4Game.js:853:12
stackTrace@http://jacobbeauseigneur.com/64bit/UE4Game.js:867:21
abort@http://jacobbeauseigneur.com/64bit/UE4Game.js:5089947:24
_abort@http://jacobbeauseigneur.com/64bit/UE4Game.js:9533:2
__ZN20FGenericPlatformMisc11RequestExitEb
[FGenericPlatformMisc::RequestExit(bool)]@http://jacobbeauseigneur.com/64bit/UE4Game.js:4163038:10
__ZN22FOutputDeviceAnsiError9SerializeEPKwN13ELogVerbosity4TypeERK5FName
[FOutputDeviceAnsiError::Serialize?N(wchar_t*)]@http://jacobbeauseigneur.com/64bit/UE4Game.js:2623641:3
__ZN4FMsg4LogfEPKciRK5FNameN13ELogVerbosity4TypeEPKwz
[FMsg::Logf?1(char*, int,
FName?N?&)]@http://jacobbeauseigneur.com/64bit/UE4Game.js:2615796:4
__ZN23FGenericPlatformProcess9LaunchURLEPKwS1_P7FString
[FGenericPlatformProcess::LaunchURL?S(wchar_t*)]@http://jacobbeauseigneur.com/64bit/UE4Game.js:4120377:2
__ZN20UKismetSystemLibrary9LaunchURLERK7FString
[UKismetSystemLibrary::LaunchURL(FString?&)]@http://jacobbeauseigneur.com/64bit/UE4Game.js:4708654:2
__ZN20UKismetSystemLibrary13execLaunchURLER6FFramePv
[UKismetSystemLibrary::execLaunchURL(void*&)]@http://jacobbeauseigneur.com/64bit/UE4Game.js:3800538:2
__ZN9UFunction6InvokeEP7UObjectR6FFramePv
[UFunction::Invoke(void*&)]@http://jacobbeauseigneur.com/64bit/UE4Game.js:3474026:3
__ZN7UObject12CallFunctionER6FFramePvP9UFunction
[UObject::CallFunction(void
&,
UFunction?)]@http://jacobbeauseigneur.com/64bit/UE4Game.js:879656:24
__ZN7UObject17execFinalFunctionER6FFramePv
[UObject::execFinalFunction(void
&)]@http://jacobbeauseigneur.com/64bit/UE4Game.js:4333029:2
__ZN6FFrame4StepEP7UObjectPv [FFrame::Step(void**)]@http://jacobbeauseigneur.com/64bit/UE4Game.js:3829769:3
__ZN7UObject20ProcessContextOpcodeER6FFramePvb
[UObject::ProcessContextOpcode(void*&,
bool)]@http://jacobbeauseigneur.com/64bit/UE4Game.js:1804289:3
__ZN7UObject22execContext_FailSilentER6FFramePv
[UObject::execContext_FailSilent(void*&)]@http://jacobbeauseigneur.com/64bit/UE4Game.js:4829305:2
__ZN6FFrame4StepEP7UObjectPv [FFrame::Step(void**)]@http://jacobbeauseigneur.com/64bit/UE4Game.js:3829769:3
__ZN7UObject15ProcessInternalER6FFramePv
[UObject::ProcessInternal(void*&)]@http://jacobbeauseigneur.com/64bit/UE4Game.js:981112:4
__ZN7UObject12CallFunctionER6FFramePvP9UFunction
[UObject::CallFunction(void*&,
UFunction?)]@http://jacobbeauseigneur.com/64bit/UE4Game.js:879836:23
__ZN7UObject19execVirtualFunctionER6FFramePv
[UObject::execVirtualFunction(void
&)]@http://jacobbeauseigneur.com/64bit/UE4Game.js:3754771:2
__ZN6FFrame4StepEP7UObjectPv [FFrame::Step(void**)]@http://jacobbeauseigneur.com/64bit/UE4Game.js:3829769:3
__ZN7UObject15ProcessInternalER6FFramePv
[UObject::ProcessInternal(void*&)]@http://jacobbeauseigneur.com/64bit/UE4Game.js:981112:4
__ZN9UFunction6InvokeEP7UObjectR6FFramePv
[UFunction::Invoke(void*&)]@http://jacobbeauseigneur.com/64bit/UE4Game.js:3474026:3
__ZN7UObject12ProcessEventEP9UFunctionPv
[UObject::ProcessEvent(void**)]@http://jacobbeauseigneur.com/64bit/UE4Game.js:678071:42
__ZNK15TScriptDelegateI14FWeakObjectPtrE15ProcessDelegateI7UObjectEEvPv
[void
TScriptDelegate(void
)]@http://jacobbeauseigneur.com/64bit/UE4Game.js:3225832:2
__ZNK24TMulticastScriptDelegateI14FWeakObjectPtrE24ProcessMulticastDelegateI7UObjectEEvPv
[void
TMulticastScriptDelegate(void*)]@http://jacobbeauseigneur.com/64bit/UE4Game.js:2835517:11
__ZN7UButton18SlateHandleClickedEv [UButton::SlateHandleClicked()]@http://jacobbeauseigneur.com/64bit/UE4Game.js:4132330:2
_ZN21TMemberFunctionCallerI7UButtonMS0_F6FReplyvEEclIJEEEDTclpmdtdefpT3ObjdtdefpT9MemFunPtrspcl7ForwardIT_Efp_EEEDpOS6
[undefined?S?
TMemberFunctionCaller?0()]@http://jacobbeauseigneur.com/64bit/UE4Game.js:3855103:3
__ZNK34TBaseUObjectMethodDelegateInstanceILb0E7UButtonF6FReplyvEJEE7ExecuteEv
[undefined?B?
TBaseUObjectMethodDelegateInstance<0,
undefined?U?>?u()]@http://jacobbeauseigneur.com/64bit/UE4Game.js:2895187:2
__ZN7SButton15OnMouseButtonUpERK9FGeometryRK13FPointerEvent
[SButton::OnMouseButtonUp(FPointerEvent?&&)]@http://jacobbeauseigneur.com/64bit/UE4Game.js:2467737:4
__ZN17FSlateApplication25ProcessMouseButtonUpEventER13FPointerEvent
[FSlateApplication::ProcessMouseButtonUpEvent(FPointerEvent?&)]@http://jacobbeauseigneur.com/64bit/UE4Game.js:949260:6
__ZN17FSlateApplication9OnMouseUpEN13EMouseButtons4TypeE
[FSlateApplication::OnMouseUp?N()]@http://jacobbeauseigneur.com/64bit/UE4Game.js:2510515:3
__ZThn12_N17FSlateApplication9OnMouseUpEN13EMouseButtons4TypeE
[undefined?T()]@http://jacobbeauseigneur.com/64bit/UE4Game.js:4755523:7
__ZN20FHTML5InputInterface4TickEfRK9SDL_EventR10TSharedRefI14FGenericWindowL7ESPMode0EE
[FHTML5InputInterface::Tick?0(float,
double TSharedRef<, undefined?M?*,
FGenericWindow?o?>?e?&&)]@http://jacobbeauseigneur.com/64bit/UE4Game.js:1685744:4
__ZN17FHTML5Application19PollGameDeviceStateEf
[FHTML5Application::PollGameDeviceState(float)]@http://jacobbeauseigneur.com/64bit/UE4Game.js:1727438:4
__ZN17FSlateApplication19PollGameDeviceStateEv
[FSlateApplication::PollGameDeviceState()]@http://jacobbeauseigneur.com/64bit/UE4Game.js:4191021:2
__ZN11FEngineLoop4TickEv [FEngineLoop::Tick()]@http://jacobbeauseigneur.com/64bit/UE4Game.js:340461:3
__Z10HTML5_Tickv [HTML5_Tick()]@http://jacobbeauseigneur.com/64bit/UE4Game.js:5044516:2
dynCall_v@http://jacobbeauseigneur.com/64bit/UE4Game.js:5081777:2
Runtime.dynCall@http://jacobbeauseigneur.com/64bit/UE4Game.js:189:11
Browser_mainLoop_runner/<@http://jacobbeauseigneur.com/64bit/UE4Game.js:9649:5
Browser.mainLoop.runIter@http://jacobbeauseigneur.com/64bit/UE4Game.js:8348:5
Browser_mainLoop_runner@http://jacobbeauseigneur.com/64bit/UE4Game.js:9645:3

If this abort() is unexpected, build
with -s ASSERTIONS=1 which can give
more information.

Hi Sephern,

The problem is the function LaunchURL isn’t defined for HTML5 so it’s missing functionality. However, it should be simple to implement so please do add a bug about it and it’ll get fixed.

Thanks.