【问题标题】:Chrome on android - not loading local website javascript and cssAndroid上的Chrome - 不加载本地网站javascript和css
【发布时间】:2017-05-16 18:17:32
【问题描述】:

我在带有本地网站的 Android 版 Chrome 上遇到了奇怪的问题。

它在适用于 Andorid 的 Firefox 上完美运行,但不适用于 Chrome。

在我的网站上:https://passcombo.com 有一个 zip 文件的下载链接。

我做的是:

  1. 将文件下载到本地文件系统(不是 SSD!- 外部存储使 另一个问题!)
  2. 我解压缩包并使用 File Commander 转到本地存储中的站点
  3. 我用 Chrome 打开 html 文件 - 只加载 HTML,没有 CSS,没有 JS,没有图像,没有字体。

看起来相对路径存在路径问题?

但火狐可以工作!

可行的替代方案是 Firefox,但您需要编写正确的奇怪路径:“file:///storage/emulated/0/..../...html” 但... 目前 Chrome 主要在 Andorid 上使用,因此本地网站无法正常工作是很糟糕的:/

【问题讨论】:

  • 您的意思当然是“将文件下载到本地文件系统”。 Localstorage 是 HTML5 功能,完全不同。
  • 以 zip 文件下载网站,解压缩并打开 HTML 文件没有多大意义。本地文件系统的行为不像网络服务器。这就是您的链接文件无法加载的原因。出于安全原因,Chrome 会阻止所有指向文件系统的链接。
  • 是的,已更正为本地文件系统。它适用于 Firefox,所以这不是文件系统的问题,更多的是 Chrome 本身。这是普通 PC 或笔记本电脑上的正常功能,不需要服务器 - 将页面下载为完整的 html 或下载 zip 包,它可以完美运行......只有 Chrome 在 Android 上没有,这很遗憾......至少可能有解锁它的选项...

标签: javascript android css google-chrome local


【解决方案1】:

不能用文件资源管理器打开,你必须在地址栏file:///sdcard/Download...或任何地方写路径。 JS 在我的 Galaxy S6 中的本地 html 文件上与 Chrome 一起使用。

【讨论】:

  • 现在在 2021 年不起作用。file:///sdcard/ 不显示 .html 文件(它显示本地文件夹,但不显示 HTML/JS 文件。)
  • @eddie.... 它显示了所有文件.. 只需点击 HTML 文件就可以了'
【解决方案2】:

我找到的唯一解决方案是:

  1. [2021 年更新] 使用 Opera(Firefox 在最近更新之前确实可以工作!)
  2. 将包含我的 html/css/js 的文件夹复制到本地存储 (某处)
  3. 用如下路径打开站点: [当前 Opera] file:///storage/0000-0000/MyFolder/index.html [Firefox 中的旧版本] file:///storage/emulated/0/myfolder/index.html

其中 'file:///storage/0000-0000/' OR 'file:///storage/emulated/0/' 是本地存储的主要路径,如果您将文件夹复制得更深,那么您需要将“我的文件夹”更改为 /somefolder1/somesubfolder/.../ sth

惭愧,这是为安卓创建网络浏览器应用程序的唯一方法。

【讨论】:

  • 我在 Firefox 中被拒绝访问,但这是因为未授予存储权限。然后它工作得很好。谢谢。
  • Android 中的 Opera 没有显示/打开 .html 文件,“file:///sdcard/”或“file:///storage/emulated/0/”确实显示了文件夹,但没有文件。还有其他想法/解决方法吗? TIA。
  • 对我来说,当前版本的 Opera 62.3 打开 index.html - 只需要输入正确的路径 file:///storage/0000-0000/MyFolder/index.html ,一定要访问。
【解决方案3】:

可以在手机上使用 HTTP 服务器应用程序。

例如SimpleHttpServer

将该应用程序设置中的“文档根目录”设置为您的 html 文件所在的文件夹。启动服务器,您将看到一个本地链接。
单击该链接并选择要显示的 html 文件。

如果您相对地声明了您的资产,那么这些资产也会被加载。

【讨论】:

  • 是的,但是这种解决方法有点遗憾,您需要使用它;应该直接在浏览器中工作,就像在台式电脑上一样:)
【解决方案4】:

Chrome 读取本地文件的唯一目录似乎是 file:///sdcard/Android/data/com.android.chrome/files/Download/

【讨论】:

    【解决方案5】:

    在 Android 中唯一适合我的解决方案是 HTTP Web 服务器(我使用了Simple HTTP Server)。

    安装不同的浏览器没有帮助: (2021 年 4 月)我尝试在 Android 中安装各种浏览器(Chrome、FireFox,甚至 Opera 等),但都没有成功。在所有情况下,当我使用本地 file:/// URL('file:///sdcard/'或'file:///storage/emulated/0/')导航到包含 HTML/JS 文件的文件夹时,浏览器只显示文件夹,但不显示文件。 当我使用 HTML 文件的绝对路径时,浏览器使用 content:/// 协议 呈现静态 HTML 内容,即它不允许执行 JavaScript 代码。

    【讨论】:

    • 更新了文件路径——在 Opera 中有点不同。也许这就是问题所在?对我来说,它适用于 Opera 62.3
    【解决方案6】:

    在我的 Android OS 版本 7 中,要在 Google Chrome 浏览器(版本 64.0.3282.123)中打开带有 css 和 javascript 的本地 html 文件,我必须通过输入为 file://localhost/sdcard/ 的地址栏打开它,然后导航到文件位置。尽管地址中提到了sdcard,但它打开了一个内部存储(我的设备也有实际的可移动存储卡)。

    【讨论】:

      【解决方案7】:

      目前,我也面临这个问题。 Chrome 不会链接到设备上的其他文件,但您可以使用 js 和 CSS,使用 <script><style> 标签,这些将包含在网页中。但是,对于其他文件,如图像、音频、视频等。如果没有第三方应用建立的任何服务器,它仍然无法在 Android 上完成。

      【讨论】:

        【解决方案8】:
        1. 从 playstore 安装文本编辑器。它的名字 Acode
        2. 进入您的本地文件存储,然后选择您的 .html 文件并长按。
        3. 长按 .html 文件后,您会看到更多(手机屏幕左侧)
        4. 从更多菜单中,选择使用选项打开
        5. 选择 Acode 文本编辑器
        6. 当 html 文件在 Acode 编辑器上打开时,然后从 Acode 文本编辑器预览它。 就这样。它会 100% 工作..(对不起我的英语)

        【讨论】:

        猜你喜欢
        • 2013-04-04
        • 2021-11-01
        • 1970-01-01
        • 2017-02-20
        • 2015-08-19
        • 1970-01-01
        • 2022-08-16
        • 1970-01-01
        • 2013-09-16
        相关资源
        最近更新 更多