所以我知道如何在Titanium Webview中访问外部和内部URL。但我不知道如何从外部网址重定向到内部网址。
我在根文件夹中有一个名为“index.html”的文件,因此对于webview,这应该可以访问它:
Ti.UI.createWebView({
url: 'index.html'
});
外部网址非常简单
Ti.UI.createWebView({
url: 'http://www.google.com'
});
但是,在外部网址上,如何重定向到此本地文件?这些都不起作用:
<a href="file://index.html">LOCAL?</a>
<a href="file:///index.html">LOCAL?</a>
或javascript变体
window.location = 'file:///index.html';
有关如何执行此操作的任何线索?
答案 0 :(得分:0)
最终,我发现了实现这一目标的两种可能性。但它无法通过重定向完成。
一:使用webview.evalJS()
函数
var my_data = $.login_webview.evalJS('global.data;');
当然,它只适用于字符串,而不适用于对象。因此,如果您正在传递JSON,请确保将其设置为字符串!
二:执行实际的重定向服务器端,到另一个服务器端页面并监视URL更改,然后再次执行evalJS()
,但不需要轮询
$.login_webview.addEventListener('load',function(e){
if (e.url.indexOf('mobile/redirect.php') > -1){
var my_data = $.login_webview.evalJS('global.data');
}
});
请确保 2 您使用服务器端技术在Javascript中实际设置所需数据。