cc.loader.load(“http://”, function(){
});
这样会不行,怎样才可以跨域呢?
cc.loader.load(“http://”, function(){
});
这样会不行,怎样才可以跨域呢?
补充一下需求,我有一个 TexturePacker 的资源,需要放在CDN静态服务器上。使用 cc.loader.load 不能跨域,如何解决?
如果在同域服务端做一个转发,就达不到CDN的效果了吧。
var self = this; var url = "xxxxxx"; cc.loader.loadImg(url, {isCrossOrigin : true }, function(err,img){ var logo = new cc.Sprite(img); self.addChild(logo); });
使用canvas渲染,然后按上述代码可以跨域加载图片。至于你用的是cc.loader.load(),而不是loadImg,但我觉得应该也一样,毕竟load的方法里,第二个参数也是option
{Image} loadImg(url, option, callback)
{cc.AsyncPool} load(resources, option, loadCallback)
thinks~
我现在的方案是,把服务器的跨域打开 Access-Control-Allow-Origin:* 先这样做好了。
下面的代码是拿微博头像的,配置了 {isCrossOrigin: true} 一样拿不到。
cc.loader.loadImg("http://ww3.sinaimg.cn/mw690/ab41dfeegw1emxsjnhwcnj205k05kt8w.jpg", {isCrossOrigin: true}, function (err, data) {
})
我用你的代码是可以拿的,不过得用sprite,imageView就无法显示
你用的什么版本啊? 我是 cocos2d-js-v3.13-lite.js
你直接用loadimg cross domain
在android和ios是正常的
在html会不正常
如果是你自己的服务器的图片,开一个
Control-Allow-Origin:*
如果不是
那你只能访问自己服务器再转发