Tag: iframe

如何使用iframe或shadow dom创建跨浏览器子文档?

我想用JavaScript创建一个完全封装的子文档,它有自己的 , ,styles,html和js。 基本上是阴影dom或iframe,但没有src属性。 虽然我喜欢影子dom的想法,但它的支持率非常低,因此尚未准备好迎接黄金时段。 所以我一直致力于创建一个iframe,但一路上都遇到了各种各样的障碍。 这是一个jsFiddle,展示了我的各种尝试。 iframe不能存在于dom中。 这部分很关键。 为了澄清,如果它暂时存在于dom中是可以的,但它必须能够被提取并且仅存在于JS中。 $(‘body’).append(”); var iframe3 = $(‘#iframeGenerator’); var iframe3Contents = iframe3.contents(); $(‘#iframeGenerator’).remove(); var head = iframe3.contents().find(‘head’); 甜蜜,我们有头脑 console.log(head.length); 但内容是什么样的? console.log(iframe3Contents.get(0)); 它是一个文档,但不在元素内部,所以让我们尝试将它放在dom或另一个元素的内部? 以下两种尝试都不起作用,因为选择器没有上下文或其他东西…… $(‘body’).append(iframe3Contents); var generatedIframe = $(”).append(iframe3Contents); 我希望能够创建iframe / subdocuemnt而不向dom添加任何内容……但如果我必须,我仍然希望能够随后将其从dom中删除并在js中进一步管理它。 我有这个小function,它不起作用,但说明了我想要创建的iframe或子文档生成器的类型 var iframeHtml; giveMeIframe = function() { var iframeContents; if (iframeHtml) { return iframeHtml; } else { […]

Jquery捕获单击Iframe

所以我的页面上有一个iframe 我想知道如何在此捕获点击事件。 Iframe没有设置id或类

使用jQuery在iFrame元素上定义一个事件

我尝试在iFrame上的img标签商店中定义一个直播事件。 例如,当我单击iFrame上的图像时,我想获得一个简单的javascript警告框。 你知道我怎么能为iFrame定义事件,因为我想放一些像$(‘img’).live(“click”,function() ….但只适用于iFrame上的元素。 请注意:页面加载后,我的iFrame会动态添加img标签。 谢谢你的帮助。 萨科

使用simplemodal,显示加载微调器,同时iframe中的内容加载

早上好! 我正在使用Eric Martin的jQuery SimpleModal插件。 目前,我正在使用iframe加载模式以加载我按预期工作的请求页面。 我想要实现的是一个Loading … spinner,它在内容加载时显示。 我正在加载我的模态如下: jQuery(function ($) { // Load dialog on click $(‘.basic’).click(function (e) { var src = “http://localhost” + $(this).attr(“href”); $.modal(”, { closeHTML: “”, containerId: “simplemodal-container”, overlayId: “simplemodal-overlay”, overlayClose: true }); return false; }); }); 我有一个为我的模态容器设置的背景图像,它立即显示。 我肯定更喜欢在这里展示一个加载微调器。

jQuery iframe滚动事件(IE)

无法在Internet Explorer 7中收听滚动事件。 我试过了: $(“#myIframe”).scroll(function() { alert(‘hi’); }) 为FF工作: $($(“#myIframe”).contents().get(0)).scroll(function() { alert(‘hi’); }) 获得按键工作: $($(“#myIframe”).contents().get(0)).keydown(function() { alert(‘hi’); })

在jQuery中检索文档的父iframe

我有一个带有iframe的页面,其中包含一个html文档。 我需要从那个子文档中访问iframe的id,并且没有运气使用jQuery。 基本结构是在我的页面内: 在我的javascript方法中,我可以使用jQuery选择器获取标签中的任何内容,但无法检索iframe元素以调整其大小。 我已经尝试过一些东西,但我确实不是jQuery DOM导航方面的专家,特别是在涉及iframe的情况下(iframe与包含页面位于同一个域中。)有没有办法可以做到这一点?

使用jQuery在iframe中的元素上附加click处理程序

如何将单击事件处理程序附加到iframe内的元素? 这是我尝试过但不起作用的东西: $(“#parent iframe”).contents().find(“a”).live(“click”, function () { alert (“test”); return false; }); iframe位于同一个域中。

影响Iframe的$(window).blur事件

我想检测用户何时离开我的页面(例如打开一个新标签),这样我就可以停止倒计时了。 我用它做了: $(window).blur(function() { //stop countdown }); 但是我的页面中有一个Iframe,当用户点击它时,倒计时也会停止,但我不希望当有人点击Iframe时执行上述事件。 任何的想法? 更新,我正在尝试更多,基于iframe上的这个答案点击事件? : iframeDoc = $(‘iframe’).contents().get(0); $(iframeDoc).click(function(){ //maybe remove blur event? }); 更新:Tim B解决方案有效: $(window).blur(function () { // check focus if ($(‘iframe’).is(‘:focus’)) { // dont stop countdown } else { // stop countdown } }); 现在我必须在每次调用模糊事件时从Iframe中移除焦点,否则如果用户在关注Iframe后更改制表符,倒计时将不会停止。 我尝试使用上述条件: if ($(‘iframe’).is(‘:focus’)) { // dont stop countdown $(“iframe”).blur() $(window).focus(); } […]

如何将加载到iframe中?

我有逻辑工作从父母追加到我的iframe 这工作: $(‘#iframe’).load(function() { $(this).contents().find(‘#target’).append(‘this text has been inserted into the iframe by jquery’); }); 这不 $(‘#iframe’).load(function() { $(this).contents().find(‘body’).append(”); }); 。如果 问题与插入的脚本标记没有正确转义有关。 一半的javascript在html中变得可见,就像第一个脚本标签突然结束一样。

改变iframe源即使用javascript

我使用了iframe,如下所示: <iframe style='width: 330px; height: 278px' scrolling='no' name="iframeId" class="advPlayer" id="iframeId" frameborder="0" src='../../player/iabpreview.php?adid=&autoPlay=true’> 每当我点击 ,我都要更改iframe的来源。 我使用以下代码: if ($j.browser.msie) { frames[‘iframeId’].window.location=”../player/iabpreview.php?adid=”+adId+”&autoPlay=true”; }else { $j(“.advPlayer”).eq(0).attr(“src”, “../player/iabpreview.php?adid=”+adId+”&autoPlay=true”); } 这适用于Firefox,但不适用于Internet Explorer。 什么代码也适用于Internet Explorer?