无法从 Cordova 中的手机存储访问 CSS

Posted

技术标签:

【中文标题】无法从 Cordova 中的手机存储访问 CSS【英文标题】:Not able to access CSS from the phone storage in Cordova 【发布时间】:2021-07-24 10:03:26 【问题描述】:

我正在尝试从 Cordova 的手机存储中访问 CSS 文件。简单的用例是使用动态 CSS。以特定的时间间隔从服务器下载 CSS,将其存储在手机存储中并以样式使用。

路径将在 html 页面上静态定义。

<link rel="stylesheet" type="text/css" href="file:///storage/emulated/0/MYAPP_FOLDER/stlyefromstorage.css">

CSS 路径(手机存储): file:///storage/emulated/0/MYAPP_FOLDER/stlyefromstorage.css

我尝试使用静态 CSS 文件内容和该路径,但没有成功。

在科尔多瓦有可能吗?

stlyefromstorage.css

body 
  background-color: powderblue;

h1 
  color: blue;
  font-family: verdana;
  font-size: 300%;

p 
  color: red;
  font-family: courier;
  font-size: 160%;

Index.html(从 Cordova APK 调用)

 <html>
    <head>
      <title>
        Hello File Storage CSS
      </title>
      <link rel="stylesheet" type="text/css" href="file:///storage/emulated/0/MYAPP_FOLDER/stlyefromstorage.css">
    </head>
    <body>
    <h1>This is a heading</h1>
    <p>This is a paragraph.</p>
    </body>
    </html>

【问题讨论】:

【参考方案1】:

在发布我的问题后,我找到了如下解决方案:

您可以从安装的应用文件夹路径read/write your file如下:

file:///storage/emulated/0/android/data/APP_PACKAGE/files/stlyefromstorage.css

另外,我们可以通过以下方式访问:

file:///storage/emulated/0/APP_FOLDER/stlyefromstorage.css

注意:为确保您必须在 Androidmanifest.xml 中设置 android:requestLegacyExternalStorage="true" - Android 10+ 操作系统的标记。

现在我的外部 CSS 文件工作如下:

  <link rel="stylesheet" type="text/css" href="file:///storage/emulated/0/Android/data/APP_PACKAGE/files/stlyefromstorage.css"  />

希望这对其他人有所帮助。

【讨论】:

以上是关于无法从 Cordova 中的手机存储访问 CSS的主要内容,如果未能解决你的问题,请参考以下文章

Cordova - 如何访问设备存储?

谷歌地理编码 api 在 Apache Cordova 中的 Ripple 系统中工作时无法在 Android 手机中工作

在 Cordova 中安全地存储访问令牌

使用 cordova 文件传输将图像/视频保存到 IOS 中的画廊

无法从手机访问本地网络中的Tomcat服务器

ng-cordova 手机拍照或从相册选择图片