Дефисы в Windows Phone IE

Нужно иметь дефисы в IE на Windows Phone 8 (или лучше на обоих 7/8). Я использую элемент управления веб-браузером для отображения контента и встраиваю CSS, чтобы сделать типографику красивее. Похоже, мобильная версия IE действительно обрезана! Например p:first-child:first-letter не работает..hyphens:auto тоже не работает. Существуют ли обходные пути для добавления дефисов к тексту с полями?

PS сейчас пытаюсь использовать Hyphenator.js, но есть проблема с этим, так как не могу найти способ включить локальный скрипт на страницу в элементе управления веб-браузером (я использую NavigateToString).


person 0x49D1    schedule 14.01.2013    source источник


Ответы (1)


Вы можете ссылаться на локальные файлы javascript, но сначала вам нужно загрузить их в изолированное хранилище.

Вот как вы можете загрузить их в локальное хранилище.

var fileResourceStreamInfo = Application.GetResourceStream(new Uri("scripts/Hyphenator.js", UriKind.Relative));
if (fileResourceStreamInfo != null)
{
using (BinaryReader br = new BinaryReader(fileResourceStreamInfo.Stream))
{
    byte[] data = br.ReadBytes((int)fileResourceStreamInfo.Stream.Length);

    string strBaseDir = "scripts";

    if(!appStorage.DirectoryExists(strBaseDir))
    {
        //Debug.WriteLine("Creating Directory :: " + strBaseDir);
        appStorage.CreateDirectory(strBaseDir);
    }

    // This will truncate/overwrite an existing file, or 
    using (IsolatedStorageFileStream outFile = appStorage.OpenFile(AppRoot + "scripts/Hyphenator.js", FileMode.Create))
    {
        Debug.WriteLine("Writing data for " + AppRoot + "scripts/Hyphenator.js" + " and length = " + data.Length);
        using (var writer = new BinaryWriter(outFile))
        {
            writer.Write(data);
        }
    }
}

}

Затем вы можете ссылаться на них так:

<script type="text/javascript" src="scripts/Hyphenator.js"></script>
person derSteve    schedule 14.01.2013
comment
Хороший! Спасибо, постараюсь как можно скорее. - person 0x49D1; 14.01.2013
comment
Вы уверены, что я могу получить доступ к моему файлу сценария как scripts/myJavascript.js? Использовали этот метод jesseliberty.com/2011/10/27/ и я обращаюсь к скрипту с этим кодом (файл находится в корневом каталоге): <script src='Hyphenator.js'.... не работает.. Но если вместо локального src я дам ему полный адрес Hyphenator.js на веб-это работает! - person 0x49D1; 14.01.2013
comment
Если вы можете ссылаться на Hyphenator.js из Интернета, используйте этот подход. Насколько я понимаю, вы хотите упаковать js-файл с приложением и загрузить его из приложения и не зависеть от подключения к Интернету. - person derSteve; 14.01.2013
comment
да, вы меня правильно поняли: я хочу, чтобы страница с дефисами работала даже без интернета. Сейчас я открываю файл Hypernator.js из изолированного хранилища, сохраняю его как строку и добавляю эту строку на свою страницу. - person 0x49D1; 14.01.2013
comment
Я отредактировал предоставленную реализацию, чтобы отразить ваш конкретный файл - person derSteve; 14.01.2013