【问题标题】:Can't use relative paths in object tags in Cordova/Phonegap?不能在 Cordova/Phonegap 的对象标签中使用相对路径?
【发布时间】:2015-01-16 10:18:30
【问题描述】:

我注意到在对象标签中引用它们时,我不能在我的 Cordova 项目中使用相对路径。例如,这适用于浏览器,但不适用于 Phonegap:

<object id="pause" type="image/svg+xml" data="img/icons/pause.svg" class="icon clickable hidden"></object>

但是,这在 Phonegap 和浏览器中都可以正常运行:

<img id="pause" src="img/icons/pause.svg">

在 Cordova 中也可以使用远程路径,但是当我使用本地/相对路径时,一切都会崩溃。以下是 Android 的反击:

<img src="file:///android_asset/webkit/android-weberror.png" align="top">
<h2>Webpage not available</h2>
<p>The webpage at <a href="file:///android_asset/www/img/logo.svg">file:///android_asset/www/img/logo.svg</a> could not be loaded because:</p>
<!-- The net::ERR_FILE_NOT_FOUND is replaced by a localized error string -->
<p>net::ERR_FILE_NOT_FOUND</p>

不幸的是,我不能使用远程位置(因为这不会让我在 SVG 中执行 onclick 和 onmousedown 事件)。此外,完全避免 标记不是一种选择,因为我需要执行和更改对象内部的一些代码(例如更改填充颜色)。

这是一个错误吗?如果没有,我该怎么做才能让我的代码正常工作?

【问题讨论】:

    标签: android html cordova svg


    【解决方案1】:

    对此的一种解决方法是使用 Javascript 手动读取文件并将内容直接放入 data 属性中,以便它读取 &lt;object data="data:image/svg+xml;utf8,[FILECONTENTS]"&gt;&lt;/object&gt;。它并不优雅,但效果很好。

    【讨论】:

      猜你喜欢
      • 2021-08-17
      • 1970-01-01
      • 2019-02-09
      • 2015-10-02
      • 2020-08-29
      • 2019-12-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多