diff --git a/src/static/js/pad.js b/src/static/js/pad.js
index 3a1c1633e..9db1c5b93 100644
--- a/src/static/js/pad.js
+++ b/src/static/js/pad.js
@@ -203,7 +203,8 @@ function handshake()
//create the url
var url = loc.protocol + "//" + loc.hostname + ":" + port + "/";
//find out in which subfolder we are
- var resource = loc.pathname.substr(1, loc.pathname.indexOf("/p/")) + "socket.io";
+ var resource = exports.baseURL + "socket.io";
+
//connect
socket = pad.socket = io.connect(url, {
resource: resource,
@@ -1029,7 +1030,7 @@ var settings = {
};
pad.settings = settings;
-
+exports.baseURL = '';
exports.settings = settings;
exports.createCookie = createCookie;
exports.readCookie = readCookie;
diff --git a/src/static/js/pluginfw/plugins.js b/src/static/js/pluginfw/plugins.js
index a3a8a8dfd..1f66da41c 100644
--- a/src/static/js/pluginfw/plugins.js
+++ b/src/static/js/pluginfw/plugins.js
@@ -24,6 +24,7 @@ exports.loaded = false;
exports.plugins = {};
exports.parts = [];
exports.hooks = {};
+exports.baseURL = '';
exports.ensure = function (cb) {
if (!exports.loaded)
@@ -103,7 +104,7 @@ if (exports.isClient) {
// which appears to fix the issue.
var callback = function () {setTimeout(cb, 0);};
- jQuery.getJSON('../pluginfw/plugin-definitions.json', function(data) {
+ jQuery.getJSON(exports.baseURL + 'pluginfw/plugin-definitions.json', function(data) {
exports.plugins = data.plugins;
exports.parts = data.parts;
exports.hooks = exports.extractHooks(exports.parts, "client_hooks");
diff --git a/src/static/js/timeslider.js b/src/static/js/timeslider.js
index 438b1695f..6c91423bd 100644
--- a/src/static/js/timeslider.js
+++ b/src/static/js/timeslider.js
@@ -60,8 +60,8 @@ function init() {
//create the url
var url = loc.protocol + "//" + loc.hostname + ":" + port + "/";
//find out in which subfolder we are
- var resource = loc.pathname.substr(1,loc.pathname.indexOf("/p/")) + "socket.io";
-
+ var resource = exports.baseURL + 'socket.io';
+
//build up the socket io connection
socket = io.connect(url, {resource: resource});
@@ -153,4 +153,5 @@ function handleClientVars(message)
}
}
+exports.baseURL = '';
exports.init = init;
diff --git a/src/templates/pad.html b/src/templates/pad.html
index 6181b0621..3eced909f 100644
--- a/src/templates/pad.html
+++ b/src/templates/pad.html
@@ -279,13 +279,19 @@
document.domain = document.domain;
var clientVars = {};
(function () {
- require.setRootURI("../javascripts/src");
- require.setLibraryURI("../javascripts/lib");
+
+ var baseURL = '../';
+
+ require.setRootURI(baseURL + "javascripts/src");
+ require.setLibraryURI(baseURL + "javascripts/lib");
require.setGlobalKeyPath("require");
var plugins = require('ep_etherpad-lite/static/js/pluginfw/plugins');
+ plugins.baseURL = baseURL;
plugins.update(function () {
- require('ep_etherpad-lite/static/js/pad').init();
+ var pad = require('ep_etherpad-lite/static/js/pad');
+ pad.baseURL = baseURL;
+ pad.init();
});
/* TODO: These globals shouldn't exist. */
diff --git a/src/templates/timeslider.html b/src/templates/timeslider.html
index ca4bc6e99..5db11b8f2 100644
--- a/src/templates/timeslider.html
+++ b/src/templates/timeslider.html
@@ -123,22 +123,30 @@
-
-
-
-
-
+
+
+
+
+
+