在appcelerator/titanium mobile中,当在webview中使用本地html时,如何从应用程序数据目录加载图像并引用
在 web 视图中显示的本地 html 文件中,我希望能够从应用程序数据目录调用图像。我在我的 html 中尝试了几个 src 选项,但似乎都不起作用。
我正在从应用程序数据目录成功加载 html 文件,如下所示:
var win = Ti.UI.currentWindow;
var rootDir = Ti.Filesystem.getExternalStorageDirectory();
var webUrl = rootDir + 'index.html';
var webview = Ti.UI.createWebView({
width:'100%',
height:'100%',
url:webUrl
});
win.add(presWebView)
虽然页面在 web 视图中正确打开,但所有图像 url 均不起作用。
<image src="appdata:///image.jpg"/>
<image src="app:///image.jpg"/>
<image src="file:///image.jpg"/>
<image src="appdata://image.jpg"/>
<image src="app://image.jpg"/>
<image src="app://image.jpg"/>
这个问题也延伸到链接,无论我如何尝试引用它们,webview 都会告诉我页面不会退出。
In a local html file, that is displayed in a webview, I want to be able to call an image from the application data directory. I have tried several src options in my html, but none seem to work.
I am loading the html file from the application data directory successfully like this:
var win = Ti.UI.currentWindow;
var rootDir = Ti.Filesystem.getExternalStorageDirectory();
var webUrl = rootDir + 'index.html';
var webview = Ti.UI.createWebView({
width:'100%',
height:'100%',
url:webUrl
});
win.add(presWebView)
Although the page opens in the webview correctly, all the image urls are not functional.
<image src="appdata:///image.jpg"/>
<image src="app:///image.jpg"/>
<image src="file:///image.jpg"/>
<image src="appdata://image.jpg"/>
<image src="app://image.jpg"/>
<image src="app://image.jpg"/>
this problem also extends to links, no matter how I try to reference them the webview tells me the page does not exit.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
我已经解决了。
您必须获取 ApplicationDataDirectory oExternalStorageDirectory,
然后使用(文件对象的).nativePath 属性,您可以动态获取相对路径。
I've solved it.
You must obtain ApplicationDataDirectory o ExternalStorageDirectory,
then with .nativePath property (of the file object) you can obtain your relative path dynamically.
我已经管理了一个特定的解决方案,通过将 webview url 从基于其与外部存储目录的相对位置的地址更改为绝对路径,使图像和链接在我的本地 html 文件中正常工作:
只要 url 是绝对路径 html 中的所有链接都可以是相对的,例如
显然,最好动态获取外部存储目录,因此如果有人知道一种方法可以在不破坏 html 中的链接的情况下执行此操作,我将很乐意听到。
I have managed a partical solution which gets both the images and the links working correctly in my local html file by changing the webview url from an address based on its relative position to the externalstorage directory, to an absolute path:
As long as the url is an absolute path all the links in the html can be relative e.g.
Obviously it would be preferable to get the external storage directory dynamically, so if anyone knows a way to do this without breaking the links in the html I would be keen to hear.
在你的Android目录/tools中,有一个名为DDMS的小程序。如果您打开它,单击您的模拟器,然后在顶部菜单中单击“文件管理器”,您可以看到可以访问的所有路径
。
例如:
我现在刚刚在 WebView 中使用此功能:
希望这会有所帮助!
In your Android directory /tools, there is a little program called DDMS. If you open that up, click on your emulator then in the top menu, click File Manager you can see all the paths that
Can access..
So for example:
I have just got this working in a WebView now:
Hope this helps!