Fixes unhandled error from history.pushState
This commit is contained in:
parent
c29f9921a1
commit
6e34e33b0d
29
app.js
29
app.js
|
@ -24,6 +24,24 @@ import API from './modules/API/API';
|
|||
|
||||
import UIEvents from './service/UI/UIEvents';
|
||||
|
||||
/**
|
||||
* Tries to push history state with the following parameters:
|
||||
* 'VideoChat', `Room: ${roomName}`, URL. If fail, prints the error and returns
|
||||
* it.
|
||||
*/
|
||||
function pushHistoryState(roomName, URL) {
|
||||
try {
|
||||
window.history.pushState(
|
||||
'VideoChat', `Room: ${roomName}`, URL
|
||||
);
|
||||
} catch (e) {
|
||||
console.warn("Push history state failed with parameters:",
|
||||
'VideoChat', `Room: ${roomName}`, URL, e);
|
||||
return e;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* Builds and returns the room name.
|
||||
*/
|
||||
|
@ -33,9 +51,14 @@ function buildRoomName () {
|
|||
if(!roomName) {
|
||||
let word = RoomnameGenerator.generateRoomWithoutSeparator();
|
||||
roomName = word.toLowerCase();
|
||||
window.history.pushState(
|
||||
'VideoChat', `Room: ${word}`, window.location.pathname + word
|
||||
);
|
||||
let historyURL = window.location.pathname + word;
|
||||
//Trying to push state with URL "/" + roomName
|
||||
var err = pushHistoryState(word, historyURL);
|
||||
//If URL "/" + roomName is not good, trying with explicitly adding the
|
||||
//domain name.
|
||||
if(err && config.hosts.domain) {
|
||||
pushHistoryState(word, "//" + config.hosts.domain + historyURL);
|
||||
}
|
||||
}
|
||||
|
||||
return roomName;
|
||||
|
|
Loading…
Reference in New Issue