【发布时间】:2011-07-21 14:53:56
【问题描述】:
我有一个受 Javascript 控制的本地网站,并且正在将其加载到 WebView 中。该网站实际上是一个带有 iframe 的主页,其内容根据用户输入而变化。主页上有一个“下一步”按钮,它运行一些 javascript 函数并决定在 iframe 中加载哪个页面(通过 document.getElement(...).src = )
在 Android 2.1 中一切正常 - 模拟和手机。 webview 正在正确加载所有页面。 我在 2.2 手机上对其进行了测试,每当我单击 Next 时,页面(应该在 iframe 中加载)都会在默认浏览器中加载。
我定义了一个意图过滤器
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data
android:scheme="file"
android:host="*"
android:pathPrefix="sdcard/Android/data/android.website/files/pages"
/>
</intent-filter>
希望它将页面请求重定向到活动,但它不起作用。该网址仍由浏览器加载。
使用 shouldOverredeUrlLoading 效果不佳,因为加载的链接是内部框架之一。我尝试加载将 url 设置为 iframe 的 src 的 javascript 代码,但没有成功。
奇怪的是,这只发生在 2.2 手机上。在 2.2 模拟器中它工作正常。
有什么想法吗?
【问题讨论】: