如何使用javascript在WebView中操作本地文件中的CSS

时间:2017-10-11 19:53:47

标签: javascript android css webview

我有一些应该从javascript操纵CSS的代码。但是,当我将代码移动到Android中的file:// access时,似乎是在WebView中运行Web应用程序的推荐方法,当下面的代码尝试运行时出现错误:

return document.styleSheets[0].cssRules[0].style

值为“cssRules”始终为null,这是意外的。

我发现this file,这似乎是由于Chrome开发人员拒绝修复Chromium中的“错误”。

我想知道这是否真的是我遇到的错误,如果有的话,如果有解决方法的话。如何在本地运行时在WebView中操作来自Javascript的CSS?我应该放弃在本地运行的整个概念吗?我担心可能有其他类似的东西会咬我。

1 个答案:

答案 0 :(得分:0)

在我的代码中,我已经打电话了:

    webSettings.setAllowFileAccess(true);

但是我发现如果我添加以下代码,它会放松对本地文件访问的所有安全限制,并且我可以从Javascript访问CSS:

    if (Build.VERSION.SDK_INT >= 16 ) {
        webSettings.setAllowFileAccessFromFileURLs(true);
        webSettings.setAllowUniversalAccessFromFileURLs(true);
    }