我正在使用XE7 Rad为安卓和IPhone构建“应用程序”。目前专注于Android系统。
根据需求,我需要将HTML作为资源字符串加载到应用程序中。
WebBrowser1.LoadFromStrings(ResourceStrings.HTMLString,'');
//Loads the resource-string successfully.但是,在这个资源字符串中,我需要加载图像,而我不知道如何去做。我可以在部署中看到将映像加载到项目{Bitmap_1、Bitmap_2、Bitmap_3}中。
如何完成这一行:
resource-string:
...'<a href="/images/im2.bmp"><img id="img2" class="thumbnail" src="/images/im2.bmp" alt="/images/im2.bmp"/></a>'...非常感谢。
发布于 2014-11-17 22:29:41
如果您阅读文档 for LoadFromStrings(),它会说:
显示TWebBrowser组件中的HTML内容。 此方法使用以下参数:
www.mycompany.com/departments/**,,加载的页面定义链接** <a href=’Sales.html’>Sales dept</a>**.在给定情况下,单击此链接将打开** http:// www.mycompany.com/departments/Sales.html**.**这正是您所遇到的确切情况。HTML包含指向外部图像的相对链接,但您没有提供BaseURL,因此WebBrowser无法解析加载这些图像所需的正确URL。
在Deployment中,将映像文件的远程路径设置为StartUp/Documents/images/或StartUp/Library/Application Support/images/。在应用程序启动时,德尔福将把以StartUp开头的文件复制到设备上的相应文件夹中。然后,您可以在调用LoadFromStrings()时执行以下操作
// note sure which function to use for 'StartUp/Library/Application Support/',
// maybe TPath.GetLibraryPath()? This example is for '/StartUp/Documents/'...
WebBrowser1.LoadFromStrings(ResourceStrings.HTMLString, 'file://' + TPath.GetDocumentsPath);这将使"/images/im2.bmp"能够解决类似file:///data/data/<application ID>/files/images/im2.bmp"之类的问题。
https://stackoverflow.com/questions/26976256
复制相似问题