Можете ли вы написать JavaScript, который будет загружать две отдельные страницы index.html на основе параметров URL

0

Я работаю над некоторым объединенным кодом, который содержит 3 приложения, использующие телефонную рассылку. Хотя приложения объединены вместе, у каждого из них есть отдельная страница индекса. Мне нужно загрузить другую страницу index.html с места в карьер на основе шаблона url. Можно ли написать некоторые js в теге head, чтобы проверить это, а затем загрузить правильную страницу index.html?

Я думал использовать что-то вроде var query = window.location.search.substring(1); где substring - дополнительный параметр, который сигнализирует, что приложение используется. Я не уверен, как действовать дальше.

Теги:
cordova

1 ответ

0

Не совсем уверен, что я получаю то, о чем вы просите, но отпустите его.

Сначала создайте массив, содержащий пары значений поля из запроса.

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
}

Ещё вопросы

Сообщество Overcoder
Наверх
Меню