草庐IT

javascript - 向 iframe 添加事件监听器

是否可以向iframe添加事件监听器?我试过这段代码,但它似乎不起作用:document.getElementsByTagName('iframe')[0].contentWindow.window.document.body.addEventListener('afterLayout',function(){console.log('works');});我也刚刚尝试使用通过id获取元素并通过我正在使用的JavaScript框架添加我的监听器,如下所示:Ext.fly("iframeID").addListener('afterLayout',function(){alert('te

javascript - 使用javascript更改iframe中的URL

我在iframe中有一个,它从父页面调用一个函数。该函数是window.location,但这不会更改url。有没有办法让iframe从父页面调用一个函数,这会导致iframe更改url?我还有一个基本问题,如果我有一个iframe,然后单击将我带到新页面的链接,父页面是否保持打开状态?在此先感谢您的帮助。对不起,如果我听起来像个彻头彻尾的白痴,我是javascript的新手。戴夫 最佳答案 window.location不是一个函数,它是一个对象。要做你想做的事,首先让iframe从它的父级调用一个特殊函数。parent.send

javascript - 访问 iframe 中的表单

我正在尝试访问表单及其元素。该表单位于iframe中,访问该表单的javascript代码位于主文档中。我不确定我还应该在问题中添加什么,所以如果我需要添加其他内容,请告诉我。(表单和主页在同一个域中)谢谢 最佳答案 varifr=document.getElementById(yourIframeId);varifrDoc=ifr.contentDocument||ifr.contentWindow.document;vartheForm=ifrDoc.getElementById(yourFormId);或者您可以在框架中使用一

javascript - Access-Control-Allow-Origin 不适用于同一域内的 iframe

我正在尝试访问子域中的iframe并遇到跨域错误。这是示例.mydomain.com/iframe_test.html的代码:$(document).ready(function(){setTimeout(function(){$('#innerdiv',$('iframe').contents()).hide();},5000);});这是example2.mydomain.com/welcome.php的代码:hello$('#innerdiv',$('iframe').contents()).hide()行执行时,出现如下错误:UncaughtSecurityError:Fail

javascript - 从 chrome 扩展访问 iframe

我正在开发一个chrome扩展并遇到了一个大问题。我正在使用内容脚本在网站上注入(inject)我的javascript代码。该网站有一个iframe。我可以更改iframe的源代码,但似乎无法访问iframe的contentWindow属性。我需要它在当前插入位置插入文本。基本上这段代码在页面上下文中完美运行:$("#iframe1").contentWindow.document.execCommand("InsertHTML",false,'testtext');但是当我尝试在我的chrome扩展的上下文中运行它时,我得到了这个错误:TypeError:Cannotreadpro

javascript - 无法使用 JavaScript 在 IE 上打印 iframe,而是打印父页面

我有以下JavaScript代码:$(document).ready(function(){$('a#print_button').click(function(event){event.preventDefault();varprint_url='print.html';if($('#print_page').length==0){$("body").append('');}else{$('#print_page').attr("src",print_quote_url);}$('#print_page').on("load",function(){frames["print_pag

javascript - facebook javascript SDK : FB. Canvas.setAutoResize iFrame 不工作?

我们使用ruby​​/rails和facebooker(iframe应用程序)构建了一个facebook应用程序,目前卡在FB.Canvas.setAutoResize上,在某些情况下似乎会失败。使用facebook开发人员文档中的示例(参见http://developers.facebook.com/docs/reference/javascript/)。一旦你进入一个高于800px的页面,自动调整大小就会失败-也就是说,只要Canvas变大它就可以工作,而不是当它变小时。有人有线索或解决方法吗?这是调整大小的代码片段window.fbAsyncInit=function(){FB.

javascript - Twitter 嵌入式时间线回调

我一直在对Twitter的嵌入式时间线进行大量研究。我一直试图弄清楚是否有可能知道时间线何时完成加载并显示在页面上。此issuehasbeenrequested,但尚未实现。我走到了死胡同,希望有人能够帮助我找到解决方案。这是我迄今为止发现的:添加嵌入式时间轴的代码:Tweetsby@twitterapi!function(d,s,id){varjs,fjs=d.getElementsByTagName(s)[0];if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src="//platform.twitter.co

javascript - 文档准备好并且 iframe 内容加载后执行 jQuery

如您在此页面上所见http://musicglaze.com/chase-status-let-you-go-feat-mali-feed-me-remix/#comments评论部分不合适,经过研究我明白这是因为负责样式的插件(http://masonry.desandro.com/)在$(document).ready(function(){});函数。然而,内容在那之后被加载到iframe中,因此改变了它的高度,但是由于插件考虑了它没有内容的原始高度,所以一切都变得一团糟。我可以使用与此伪代码行为相似的东西吗?DocumentreadyANDiframecontentloaded

javascript - 检测 iframe 中的 DOMContentLoaded

我很惊讶地发现以下内容似乎不起作用,因为DOMContentLoaded事件没有触发(this.els是元素的对象)。this.els.stage_ifr.prop('src','templates/'+ee.globals.creating+'/item'+this.id);this.els.stage_ifr[0].addEventListener('DOMContentLoaded',function(){alert('loaded!');},false);页面可以正常加载到iframe中,但没有回调。然而,DOM级别零onload有效。this.els.stage_ifr[0]