我正在开发一个适用于 Windows Phone 7 的应用程序,并为其使用 Phonegap 模板。
一切看起来都很完美,但现在我无法在浏览器中打开 PDF 文件。
我尝试了以下方法,但不起作用,因为 PDF 的 url 超出了 2048 个字符的限制(它是数据 url)。此代码在 deviceReady 事件触发后运行。
var ref = window.open('http://www.google.com', '_blank', 'location=no');
ref.addEventListener('loadstart', function () { alert(event.url); });
现在,我尝试将 PDF 文件保存到存储中,然后尝试用浏览器打开它,但浏览器不显示任何内容。我正在编辑 cordovalib 中的 InAppBrowser.cs 代码,并在调用 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”的值:对象为 null 或未定义”
我不想使用 ComponentOne。
任何帮助将不胜感激!
您无法在 PDF 文件的默认阅读器中打开独立存储中的 pdf 文件。如果文件在线,例如它有一个 URI,您可以使用 WebBrowserTask 打开它,因为这将下载并在 Adobe Reader 中打开该文件。
在 Windows Phone 8 上,您实际上可以在该扩展名的默认文件阅读器中打开自己的文件,但我不确定这对您有什么帮助,因为您的目标是 PhoneGap 和 Windows Phone 7。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)