在IOS应用中内嵌H5页面中,image的onload事件失效

花末 2017-09-27 05:38:59
我需要把一段base64的图片地址生成一张图片然后用canvas画出来。但是转图片的这步卡住了,在安卓或者网页浏览器中没有问题,但在IOS中失效。我试过由js直接new Image()创建:

var img = new Image();
img.onload = function(){
var w = this.width,
h = this.height;
alert("图片尺寸:"+w+"*"+h)
};
img.src = base64_img;

或者先在页面上定义一个<img>标签,然后赋值:

<img id="test" style="display:none;" src="">

var img = $("#test")[0];
img.onload = function(){
var w = this.width,
h = this.height;
alert("图片尺寸:"+w+"*"+h)
};
img.src = base64_img;

但是都不能生效,在ios中onload事件根本不会触发,就算直接用$(img).trigger('load');或者$(window).trigger('load');触发也无法获取图片的尺寸,也无法直接用drawImage(image, x, y)画在画布中。请问该怎么解决呢?怎么让image的onload在ios中生效?
...全文
2212 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
花末 2017-09-28
  • 打赏
  • 举报
回复
引用 1 楼 jslang 的回复:
这样试试

      var img = new Image();
      img.onload = function(){
        var w = this.width,
        h = this.height;
        alert("图片尺寸:"+w+"*"+h)
      };
      img.src = base64_img;
      if (img.complete)
      	img.onload();
刚才回复img.complete结果是false的记错了。返回是true,但是 img.onload();是个错误的方法。我用
花末 2017-09-28
  • 打赏
  • 举报
回复
引用 1 楼 jslang 的回复:
这样试试

      var img = new Image();
      img.onload = function(){
        var w = this.width,
        h = this.height;
        alert("图片尺寸:"+w+"*"+h)
      };
      img.src = base64_img;
      if (img.complete)
      	img.onload();
img.complete 的结果是false
天际的海浪 2017-09-28
  • 打赏
  • 举报
回复
img.complete返回true 就可以直接取img.width和img.height了啊。 不行的话可能是那个base64数据有问题,换个base64图片数据试下
天际的海浪 2017-09-27
  • 打赏
  • 举报
回复
这样试试

      var img = new Image();
      img.onload = function(){
        var w = this.width,
        h = this.height;
        alert("图片尺寸:"+w+"*"+h)
      };
      img.src = base64_img;
      if (img.complete)
      	img.onload();
内容概要:本文提出一种基于鱼鹰优化算法(OOA)优化的CNN-BiGUR-Attention混合模型,用于提升短期风电功率预测的精度与稳定性,采用Matlab实现代码仿真。该模型融合卷积神经网络(CNN)提取输入数据的局部空间特征,利用双向门控循环单元(BiGUR)捕捉风速、功率等时间序列的前后向动态依赖关系,并引入注意力机制自适应强化关键时间步的特征权重,从而增强模型对非平稳风电数据的表征能力;进一步,采用OOA算法对模型超参数进行全局寻优,有效提升模型收敛速度与泛化性能。研究基于实际风电场历史数据开展实验验证,结果表明,该方法相较传统模型在预测精度、鲁棒性和误差抑制方面表现更优,适用于高比例可再生能源接入背景下的电力系统调度需求。; 适合人群:从事新能源发电预测、电力系统优化调度、智能算法与深度学习融合应用等方向的科研人员及工程技术人员,尤其适合具备Matlab编程能力、熟悉时间序列建模与深度学习框架的研究者。; 使用场景及目标:①实现风电场短期功率高精度预测,支撑电网安全稳定调度与能量管理;②为深度学习模型结构设计与智能优化算法联合调参提供实践范例;③推动人工智能技术在可再生能源预测、智能电网运行等领域的落地应用。; 阅读建议:建议结合提供的Matlab代码深入理解CNN-BiGUR-Attention网络架构搭建、注意力机制实现方式及OOA优化流程,重点关注数据预处理、模型训练与参数调优细节,可通过替换不同风电数据集进行对比实验,进一步掌握模型迁移能力与适应性。

87,990

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧