Я работаю над некоторым объединенным кодом, который содержит 3 приложения, использующие телефонную рассылку. Хотя приложения объединены вместе, у каждого из них есть отдельная страница индекса. Мне нужно загрузить другую страницу index.html с места в карьер на основе шаблона url. Можно ли написать некоторые js в теге head, чтобы проверить это, а затем загрузить правильную страницу index.html?
Я думал использовать что-то вроде var query = window.location.search.substring(1); где substring - дополнительный параметр, который сигнализирует, что приложение используется. Я не уверен, как действовать дальше.
Не совсем уверен, что я получаю то, о чем вы просите, но отпустите его.
Сначала создайте массив, содержащий пары значений поля из запроса.
var i,
u = window.location,
app = '',
query = [],
pairs = u.search.replace(/^\??/, '').split(/[&;]/).map(function(m){
return m.split(/=/);
});
Предоставление вам массива, как в:
pairs <=>
[
[field1, value],
[field2, value],
[field3, value]
]
Затем, как это сделать, зависит от того, как генерируется URL-адрес в первую очередь.
Пример:
/* location.search='?service=app_1&query=do%20this&do=that' */
for (i = 0; i < pairs.length; ++i) {
if (pairs[i][0] === 'service')
app = pairs[i][1]; // + optionally push it to query
else
query.push(pairs[i].join('='))
}
switch (app) {
case 'app_a1':
window.location.replace('some_path_1/?' + query.join('&') + u.hash);
break;
case 'app_a2':
window.location.replace('some_path_2?' + query.join('&') + u.hash);
break;
default:
window.location.assign('some_default_page?bad_request=' +
encodeURIComponent(u.href)
);
// Or report error here
}