0

我有使用create js的html5创意构建,它试图从manfiest加载图像。我们可以用编码图像替换图像路径来构建内联html

现有代码:

manifest: [
    {src:"images/test_logo.png", id:"test_logo"},
    {src:"images/tg.png", id:"tg"},
    {src:"images/tq_logo.png", id:"tq_logo"},
    {src:"images/tq_1.png", id:"tq_1"},
    {src:"images/tq2_2.png", id:"tq2_2"}
]
loader.loadManifest(lib.properties.manifest);

我尝试用编码字符串替换 test_logo.png,data:image/png;base64,iVBORw0KGgoAAAANSUhE但由于 XMLHttpRequest 无法加载文件而出现错误 跨源请求仅支持协议方案:http、data、chrome、chrome-extension、https、chrome-extension-resource。

请建议我任何方法来解决这个问题。

谢谢。

4

3 回答 3

0

调用时尝试指定类型loadFile

var queue = new createjs.LoadQueue();
queue.loadFile({
  id: 'imgId',
  src: 'data:image/...' // base64 image url
  type: createjs.Types.IMAGE
});

queue.on('complete', function () {
  console.log(queue.getResult('imgId')) // <img src="..." />
});

于 2020-08-07T07:36:01.647 回答
0

可能是编码的字符串有错误。

您可以通过以下方法获取图像编码字符串。

铬和歌剧:

  1. 加载包含您的图像的页面(直接加载图像不起作用)并右键单击它。选择检查元素。

在此处输入图像描述

  1. 您将看到控制台出现。现在单击 src 属性的值。

在此处输入图像描述

  1. 控制台将切换到资源选项卡并突出显示图像。右键单击它并选择将图像复制为数据 URL。

在此处输入图像描述

更多想法:https ://www.abeautifulsite.net/convert-an-image-to-a-data-uri-with-your-browser

或者,您想在清单中包含权限

https://developer.chrome.com/extensions/declare_permissions

于 2016-11-04T12:03:35.870 回答
0

PreloadJS 不支持编码图像,只支持图像路径。

如果您有数据,则不需要预加载它,因此从未考虑过支持。这个的用例是什么?如果您已经拥有完整数据,为什么还需要预加载它?

于 2016-11-04T15:41:59.763 回答