页面代码如下:<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<!--<meta http-equiv="Access-Control-Allow-Origin" content="*" /> 其他浏览器不加也正常--> 
<meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no">
<title></title>

</head>
<body>
<div id="ggc"  style="background: red;">
&nbsp;
</div>
</body>
<script>
window['img111'] = '<img id="img111" src="https://mmbiz.qpic.cn/mmbiz_jpg/Pn4Sm0RsAuhswUUv8cJG7zkibsb6ljs9lRicGT5bm3UEAsiaWTtELmhXlibhXzbVdHX7m76MIEXGtia196VU8SLjdSA/640?wx_fmt=jpeg&tp=webp&wxfrom=5&wx_lazy=1&wx_co=1" onload="try{window.parent.window.showweixinimg(this,111)}catch(ex){}" style="width: 100%; height: 100%; padding: .5rem 0;" />';
document.getElementById("ggc").innerHTML='<iframe id="frameimg13" src="javascript:window.parent.img111;"></iframe>';
</script>
</html>以上代码在pc的chrome,及关键的安卓微信浏览器、安卓浏览器、phone浏览器都正常显示;唯独iphone微信浏览器不通过。求解救!!

解决方案 »

  1.   


    没报错,只是没反应。问题定位在document.getElementById("ggc").innerHTML='<iframe id="frameimg13" src="javascript:window.parent.img111;"></iframe>';中,具体是innerHTML在创建了frame后,src="javascript:window.parent.img111没被执行;其他正常浏览器中会被执行,将其换为“javascript:alert('aaa')”也一样。
      

  2.   


    没报错,只是没反应。问题定位在document.getElementById("ggc").innerHTML='<iframe id="frameimg13" src="javascript:window.parent.img111;"></iframe>';中,具体是innerHTML在创建了frame后,src="javascript:window.parent.img111没被执行;其他正常浏览器中会被执行,将其换为“javascript:alert('aaa')”也一样。把innerHTML里面的内容替换成其他文本试试。
      

  3.   


    没报错,只是没反应。问题定位在document.getElementById("ggc").innerHTML='<iframe id="frameimg13" src="javascript:window.parent.img111;"></iframe>';中,具体是innerHTML在创建了frame后,src="javascript:window.parent.img111没被执行;其他正常浏览器中会被执行,将其换为“javascript:alert('aaa')”也一样。把innerHTML里面的内容替换成其他文本试试。换成其他文本肯定行,但毫无意义。问题焦点不在于innerHTML。而是需要在iframe中插入并生成一个img,读取完图片后再取到主窗口中显示。直接点,就是实现反反盗链。