Я разрабатываю приложение для Windows Phone 7, и для этого я использую шаблон Phonegap. Все выглядит идеально, но теперь я застреваю, пытаясь открыть PDF-файл в браузере. Я пробовал следующее, но это не работает, потому что URL-адрес PDF превышает предел символов 2048 (это URL-адрес данных). Этот код запускается после запуска события deviceReady.Открытие файла PDF в Windows Phone
var ref = window.open('http://www.google.com', '_blank', 'location=no');
ref.addEventListener('loadstart', function() { alert(event.url); });
Теперь я пытаюсь сохранить файл PDF в хранилище, а затем я пытаюсь, чтобы он открыл браузер, но браузер не показывает ничего. Я редактирую код InAppBrowser.cs из cordovalib, и я добавил следующие строки перед вызовом browser.Navigate (loc);
private void ShowInAppBrowser(string url)
{
IsolatedStorageFile store = IsolatedStorageFile.GetUserStoreForApplication();
FileStream stream = store.OpenFile("test.pdf", FileMode.Create);
BinaryWriter writer = new BinaryWriter(stream);
var myvar = Base64Decode("the big data url");
writer.Write(myvar);
writer.Close();
if (store.FileExists("test.pdf")) // Check if file exists
{
Uri loc = new Uri("test.pdf", UriKind.Relative);
...
}
}
Этот код возвращает следующую ошибку: Вход: «Ошибка в функции обратного вызова ошибки: InAppBrowser1921408518 = TypeError: Не удалось получить значение„URL“объекта: объект является нулевым или не определено»
I не хотите использовать ComponentOne.
Любая помощь была бы принята с благодарностью!
Большое спасибо Тони! Ваш ответ мне очень помог. –
Значит ли это, что мы не можем открыть PDF-документ или документ Word в WP8 вне собственного приложения? У меня тоже такая же проблема, я загрузил файл pdf в localStorage, и как только он загрузится, я хочу показать его пользователю, любые предложения, как это сделать? – Debhere
@Debhere Проверьте http://msdn.microsoft.com/en-us/library/windowsphone/develop/jj206987(v=vs.105).aspx для получения дополнительной информации об этом. –