ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

javascript-移动Safari和iFrame src属性

2019-12-08 08:37:29  阅读:300  来源: 互联网

标签:mobile-safari iframe javascript


我正在尝试为iFrame设置’src’属性.它在FireFox和Internet Explorer上运行良好.但是,在iPad移动浏览器上进行测试时,更改’src’属性不会执行任何操作.

我有一个在HTML中设置了’src’属性的iFrame.

<iframe id="iFrame0" style="margin: 0px; overflow: hidden; padding: 0px; height:80px; width:500px" src='.../loading.gif' frameborder="0"></iframe>

稍后我有一些代码尝试更改src

var iFrame0 = YAHOO.util.Dom.get('iFrame0');
YAHOO.util.Event.addListener(iFrame0, 'load', function() { alert('test'); });
MyWebService.GetDynamicUrl('someparam', function(url) {
  iFrame0.src = url;
});

该事件不仅不会触发,而且URL的内容也不会改变.在测试中,我注意到值iFrame0.src确实更改为新传入的URL,但是页面上的内容没有更改.

但是,我正在使用YUI来消除该问题,因为这在我的测试中是一个潜在的问题,我也尝试通过以下方式直接访问iFrame:

document.getElementById('iFrame0').attribute("src") = '..../newurl.gif';

仍然不起作用.

解决方法:

最后,我通过动态创建iframe并将其附加到DOM来解决了这个问题.我还为id和src属性添加了时间戳,以确保不进行缓存(尽管我不确定这样做是否确实必要).

var elIFrame = document.createElement("iframe");
var dt = new Date();
elIFrame.src = APP_IMAGEPATH + "/loading.gif?dt=" + dt.getTime();
elIFrame.id = 'newCard2' + dt.getTime();
elIFrame.frameBorder = 0;
elIFrame.scrolling = "no";
elIFrame.style.width = "500px";
elIFrame.style.height = "1.8em";
YAHOO.util.Dom.insertAfter(elIFrame, this.pre + "cardMask");

标签:mobile-safari,iframe,javascript
来源: https://codeday.me/bug/20191208/2090056.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有