当前位置: 首页 > 知识库问答 >
问题:

Android的WebView不能回到本地资产中

益富
2023-03-14

我有一个问题与WebView。我的应用程序在本地资产中内置了用html制作的帮助文件。我用WebView显示html文件。

    null

我怀疑WebView没有处理本地文件的查看历史记录。我使用的是OS4.0.3。

有解决办法吗?

共有1个答案

能逸清
2023-03-14

我已经为这个问题找到了一个(折衷的)解决方案。这个问题在这里讨论过,可以在这里找到一个解决方案(日语页面,对不起)。在我的例子中,在知道这是Android操作系统中的一个错误后,回到上一个页面(而不是确切的锚位置)是好的。所以我最后得到了下一个代码。

webView = (WebView)findViewById(R.id.webview);
webView.setWebViewClient(new WebViewClient()
{
    // https://stackoverflow.com/questions/6542702/basic-internal-links-dont-work-in-honeycomb-app
    @Override
    public void onReceivedError(WebView view, int errorCode, String description, String failingUrl)
    {
        super.onReceivedError(view, errorCode, description, failingUrl);
        String url = failingUrl;
        int index = url.indexOf("#");
        if (index != -1)
        {
            url = url.substring(0, index);
        }
        webView.loadUrl(url);
    }
});

使用此代码,当它不能返回到带有锚点的前一页时,它返回到没有锚点的前一页。我和它妥协了。我试图通过使用Java脚本的其他解决方案使其更好,但没有成功。

 类似资料:
  • 我正试图将本地url加载到webview,但我不想使用assets文件夹,因为它是只读的,而且我需要从Web服务更新文件。 Web服务调用运行良好,并将html文件保存到设备上的文件夹中,使用 这将在应用程序的存储空间中创建一个文件夹'app_live',并用HTML填充该文件夹。 现在,当我把它加载到我的Webview中时,应用程序显示“网站不可用”,尽管livefolder.isdir()返回

  • 我试图在我的Android应用程序中呈现一个使用jQueryMobile创建的页面,但我需要在webView中进行,处于脱机状态。 为此,我开始复制页面的index.html,并将所有所需的资产直接带到设备的内部存储中。然后,我在设备的内部浏览器和Chrome应用程序中输入加载了它,网站显示得很好,有jQuery样式和所有样式。 然后我进入我的应用程序,在那里我有一个webView,这就是我实际上

  • 我是Android新手,一直试图让HTML5 标记在WebView浏览器中工作,但不断收到MediaPlayer错误(1,-2147483648)。我试图播放的文件位于“Assets”目录下。我尝试引用“res/raw”目录中的文件,但结果相同。 为了验证是否可以找到并播放这些文件,作为测试的一部分,我创建了一个代码变体,其中声音将通过标记触发,并由WebViewClient处理,使用以下建议:

  • 当用户单击应用程序WebView上的标记时,我试图播放来自assets文件夹的声音。我发现我可以使用一个扩展WebViewClient的新类来检测链接的扩展,如果它是mp3文件,它可以通过默认的音频播放器播放它。但我希望它在活动中发挥,而不开始一个新的活动。 我使用以下链接作为参考:Webview中的声音和在资产中使用Uri或文件创建MediaPlayer的错误 下面是我的完整代码: MainAc

  • 问题内容: 我有一个android webview加载我在本地拥有资产的网站。我不是自己构建的,对标记,js等的控制很少。 问题:网站的某些部分使用jquery $ .ajax- gets获取HTML以模态显示,并且我认为我遇到了跨域问题(如果我在台式机上本地测试该网站,则会得到相同的来源-警告,我的来源是“ null”),即由于某种原因,本地js无法ajax获取Assets文件夹中的其他本地文件

  • 我有一个运行WebIOPi的覆盆子Pi,它连接到一个中继板,通过基于网络的界面打开和关闭东西。下面是浏览器中的界面: 一切都很好,但我想创建一个android应用程序,只需通过WebView显示基于Web的界面。我以前用过WebView,它看起来很简单,但我不能让它工作。 下面是我的代码: 我补充道: 到舱单上。