Создание приложения Metro для Windows 8 с помощью jQuery

Я только начинаю разработку для Windows 8 с использованием HTML/JS. Последние несколько месяцев я погрузился в разработку jQuery для приложений, предназначенных для автомобильных головок -и телевизоров.

Вскочив в это, я думал, что переход будет простым. У меня есть дизайн и структура моего сайта, по большей части все продумано, и я надеялся следовать некоторым методам, которые я использовал в своей предыдущей работе.

То есть я хочу по существу создать одностраничное приложение. Основной файл default.html будет содержать верхнюю навигацию/заголовок и еще один div. Другой div будет использоваться для загрузки всех остальных страниц, всех отдельных файлов HTML в проекте.

Все глобальные функции и основные функции будут находиться в файле javascript, application.js. Тогда любой javascript, специфичный для страницы -, будет располагаться вверху каждого HTML-файла.

Я быстро понимаю, что это проблема. Использование jQuery.load ()для загрузки моих страниц вызывает ошибки безопасности в моем приложении.

JavaScript runtime error: Unable to add dynamic content. A script attempted to inject dynamic content, or elements previously modified dynamically, that might be unsafe. For example, using the innerHTML property to add script or malformed HTML will generate this exception. Use the toStaticHTML method to filter dynamic content, or explicitly create elements and attributes with a method such as createElement.

Я действительно надеялся избежать изучения множества специфических вещей Microsoft -. Я думаю, это здорово, что они предоставили много инструментов, а что нет, и, может быть, я просто недостаточно использовал их, но все кажется слишком жестким для меня и для того, что я пытаюсь сделать или уже могу сделать. с jQuery. Я из тех, кто любит ТОЧНО знать, что происходит, и иметь полный контроль над этим.

Также просматривая шаблоны и примеры проектов, мне очень не нравится весь повторяющийся код. Например, в каждом файле HTML объявляются одни и те же ссылки. Я хочу написать свои ссылки и разделы, такие как строка заголовка, только один раз, и мне не нужно копировать/вставлять этот код по всему проекту.

Есть ли способ сделать все так, как я надеялся, и создать одностраничное приложение? Есть ли у них собственный заменитель jQuery.load ()?

Любая помощь, указывающая мне в правильном направлении, будет высоко оценена!

РЕДАКТИРОВАТЬ 14.08.2012:

Я попытался использовать исправление из этого вопроса: Использование jQuery с приложением Metro JavaScript для Windows 8 вызывает ошибку безопасности

. Это избавляет от предупреждения безопасности, и я могу загрузить HTML с помощью jQuery.load (). Однако, глядя на проводник DOM, мой HTML лишается моих скриптов.

Я также попытался обернуть вызов.load ()внутри MSApp.execUnsafeLocalFunction (), но мой файл снова лишается всех скриптов. Что дает?

20
задан Community 23 May 2017 в 10:24
поделиться