我在网上商店有几个月的Chrome扩展程序,并且它一直运行完美。最近,我更改了UI并在扩展中添加了几个新图像。我在清单文件的“web_accessible_resources”属性中添加了image文件夹。 "src/lib/imgs/*"
问题是:当用户通过Chrome商店安装扩展程序时,某些图片无法加载,我不明白为什么。所有图像都在同一个文件夹中。一些作品,一些不作品。我自己有Chrome开发者版。
我很确定所有图片都上传得很好。我有chrome版本43.0.2357.134 dev-m,当我从chrome webstore安装它时,它工作正常。但是,当我在不同的笔记本电脑上安装相同的插件时,该插件具有chrome版本43.0.2357.134 m。
使用此插件https://chrome.google.com/webstore/detail/chrome-extension-source-v/jifpbeccnghkjeaalbbjmodiffmgedin?utm_source=chrome-app-launcher-info-dialog我可以在chrome商店中看到我的扩展程序的源文件,所有文件都在那里。
有没有人有任何建议或任何想法可能是什么问题?如果我的问题不明确或者您需要更多信息来理解这个问题,请告诉我。
以下是测试版,如果您想尝试插件:chrome.google.com/webstore/detail/cpacflpjhonhpgpjkbilfblopejajlai/(您可以使用任何虚假的电子邮件地址注册) - 请注意,一旦问题得到解决,我将获得此测试版版本已从商店中删除。
谢谢,
答案 0 :(得分:1)
确保你应该列出你的文件和清单,但是猜不到:你的图像名称可能有不一致的情况。因为文件在不同的操作系统中有不同的案例规则,所以它可以在某些操作系统上运行 尝试在文件和源参考中以小写形式设置所有图像名称。还要确保你没有使用保留字符。检查windows mac和Linux特殊字符规则。
答案 1 :(得分:1)
我想我可能在发布Zig Mandal的评论时发现了这个问题。
看看我在这里发布的失败图像。
GET chrome-extension://cpacflpjhonhpgpjkbilfblopejajlai/src/lib/imgs/aw_audienceheart_knowledge.png net::ERR_FAILED
当我尝试将文件名aw_audienceheart_knowledge.png
转换为ascii valule时。我发现在'heart'这个词的'r'之后有一些隐藏的角色。
复制粘贴http://asciivalue.com/index.php中的文件名,您将看到它。
我不确定是什么类型的角色。它纯粹是看不见的,它不是一个普通的空间。我将检查所有文件名,看看是否有任何隐藏的字符,并逐个删除它们。一旦我完全解决了这个问题,我会更新这个。
如果您有任何相关信息,请更新此帖。
再次感谢您的帮助:)
答案 2 :(得分:0)
经过4天的研究,我发现了这个答案https://stackoverflow.com/a/30715572/2241100
因为,我的chrome扩展程序没有指向正确的方向我必须手动遍历每一行并在我脑海中执行脚本,最后我在popup.js中找到了这一行
$('#atomic_insights').attr('src', chrome.extension.getURL("src/lib/imgs//atomicinsights.png"));
我很幸运地注意到文件名前的双斜杠(//)。就是这样!
现在,我想知道为什么这段代码在开发人员模式下工作?当我从本地安装它时,它为什么不在开发人员模式中抛出相同的错误?为什么Chrome从未向我指出有关此错误的正确文件和行号。这是Chrome的错误还是有其他解释?
我对上述任何问题都没有答案。因为我已经找到了这个bug,所以我将继续前进并开发。再次感谢@ZigMandel和@Xan的所有帮助。