У нас есть веб-приложение SPA, которое мы пытаемся преобразовать в проект WinJS в качестве родного приложения для Windows Store. В большинстве случаев Javascript работает, за исключением DOM manipulations deemed unsafe.Windows Store Приложение WinJS - как передать строку запроса, параметры хэша для начала страницы
Одна вещь, которая не кажется очевидной, заключается в том, как поставить стартовую страницу приложения (например, index.html) с строкой запроса и хэш-параметрами? Наша главная страница сайта предназначена для того, чтобы вести себя по-разному на основе параметров.
например. index.html? contextId = xxxxx # enviroment = xxxxx
Я попытался настроить значение в package.appxmanifest безрезультатно. Он будет вызывать ошибки в строках запросов, а параметры хэша будут молча сохраняться.
UPDATE: фон проекта
Кратко о том, что делает наше приложение, а затем почему над наивным желанием работать не будет и ответ ниже, как мы пошли по этому вопросу.
Наше веб-приложение - это высокодинамичное приложение, управляемое данными, которое полностью полагается на данные, чтобы выяснить, что делать. Поэтому параметр? ContextId = xxxxx настолько важен, что он сообщает нашей системе загружать данные, которые далее информируют о том, какие визуальные компоненты загружаются, и они рекурсивно решают, чтобы сформировать совершенно разные пользовательские интерфейсы.
Поэтому мы искали, чтобы найти некоторые средства для подачи этих параметров, таких как традиционные параметры командной строки, в один и тот же исполняемый файл для создания разных пользовательских интерфейсов. И, таким образом, различные «приложения» просто меняются в этих параметрах. Подобно механизму «config transform» для web.config в веб-проектах ASP.NET, это было бы очень желанным.
Однако дальнейшие испытания показали, что это невозможно; один проект приложения для магазина Windows имеет GUID, который поставляется в пакетный пакет приложений. Построение одного и того же проекта несколько раз с использованием другой «конфигурации сборки» означало бы переписывание предыдущей установки, поскольку они являются тем же приложением с увеличением номеров версий. Ответ детализирует, как мы это делали.
Проблема заключается в том, что в качестве веб-приложения для Javascript довольно часто обнаруживаются параметры из window.location. Теперь window.location не получает информацию, которую приложение ищет, это означает, что любая логика Javascript, которая использовалась, чтобы зависеть от этого, была нарушена. Несколько удивило, что Microsoft не рассматривала это и предлагала некоторую прокладку для обратной совместимости. Теперь это класс веб-приложений, которые не должны мигрировать в WinJS. – icelava