Tag: iframe

如何使用Promises编写我的函数

我将HTML(外部应用程序)加载到iFrame 当一个元素在我的iFrame可用时,我想“做”某些事情( callback )。 这是我写它的方式,我想用Promises写这个: function doWhenAvailable(selector, callback) { console.warn(“doWhenAvailable”, selector) if ($(‘#myiFrame’).contents().find(selector).length) { var elt = $(‘#myiFrame’).contents().find(selector); console.info(“doWhenAvailable Found”, elt) callback && callback(elt); } else { setTimeout(function() { doWhenAvailable(selector, callback); }, 1000); } } 实际上我没有使用setTimeout ,而是想使用setInterval重复“find element”,直到找到并解决“promise”。

通过Javascript设置iframe宽度

我们使用一些代码来生成iframe宽度 $dialogFrame.width($dialogOuter.width()).height($dialogOuter.height()); 输出使用CSS文件生成固定大小的iframe。 当我检查元素时,这是输出: 有没有什么办法可以将宽度/高度设置为外部CSS样式? JS文件的内容: * jQuery Dialog2 IFrame * * Licensed under the MIT license * http://www.opensource.org/licenses/mit-license.php * * @version: 1.0.2 (08/03/2013) * * @requires jQuery >= 1.4 * * @requires jQuery.dialog2 plugin >= 1.1 * * @requires jQuery.query plugin >= 2.1.7 * * @author Jorge Barnaby (jorge.barnaby {at} gmail.com) */ (function ($) […]

触发iframe中无序列表中元素更改的事件

我正在使用node-webkit开发一个应用程序。 我有一个加载网页的iframe。 网页有一个无序列表,如果无序列表中的元素发生变化,我想获得一个触发器。 无序列表没有类名,其唯一标记是data-reactid=”XYZ” 。 但是,无序列表中的第一项始终具有类名: .abc 从另一个SO问题( 当 内容改变时调用jquery函数 ),我发现如果有更改 ,如何触发函数: ! function () { var ulContent; $(document).ajaxStop(function () { var $ul = $(‘.abc’); if(ulContent !== $ul.html()){ ulContent = $ul.html(); $ul.trigger(‘contentChanged’); } }); }(); $(‘.abc’).on(‘contentChanged’,function(){alert(‘UL content changed!!!’);}); 不过我现在相信,脚本在当前页面的源代码而不是iframe的源代码中寻找类.abc 。 要提取我编写的iframe的源代码: innerBody = document.getElementById(‘app’).contentWindow.document.body.innerHTML; 将ajax函数放入iframe源代码的方法是什么? 还有什么! 表示ajaxfunction?

jQuery报告Firefox iframe中的元素高度不正确

这是一个简短的测试来certificate我的问题。 我有一个加载iframe的页面: $(‘#iframe’).bind(‘load’, function () { var div = $(this).contents().find(‘div’); alert(div.height()); alert(div.innerHeight()); alert(div.outerHeight()); alert(div.outerHeight(true)); }); iframe(box.html)包含一个样式的div: div { height: 50px; width: 50px; margin: 5px; padding: 5px; border: 2px solid #00f; background-color: #f00; } 四个警报应分别返回50,60,64和74。 这在Safari和Chrome中正常运行。 在FF 3.5.1中,它们都返回64.这是错误的。 有谁知道我怎么能强制FF / jQuery返回正确的值?

Chrome ext,创建JQuery对话框的内容脚本需要忽略iframe

我有简单的chrome扩展,在我打开的每个选项卡上打开JQuery对话框, 问题是当网页中包含iframe时,对话框会打开页面中的iframe数量。 我想避免这种情况,我只需要打开它,每个页面只有一个对话框实例。 我该如何避免页面中的iframe? 这是我的内容脚本: var layerNode= document.createElement(‘div’); layerNode.setAttribute(‘id’,’dialog’); layerNode.setAttribute(‘title’,’Basic dialog’); var pNode= document.createElement(‘p’); console.log(“msg var: “+massage); pNode.innerHTML = massage; layerNode.appendChild(pNode); document.body.appendChild(layerNode); jQuery(“#dialog”).dialog({ autoOpen: true, draggable: true, resizable: true, height: ‘auto’, width: 500, zIndex:3999, modal: false, open: function(event, ui) { $(event.target).parent().css(‘position’,’fixed’); $(event.target).parent().css(‘top’, ‘5px’); $(event.target).parent().css(‘left’, ’10px’); } });

将HTTP内容嵌入到HTTPS站点中

我们有一个统一的门户网站,通过基于jQuery选项卡的界面链接多个服务,利用iframe显示来自不同服务的内容。 我们的门户网站使用HTTPS / SSL在安全的服务器上运行。 虽然我们的大多数外部服务都是HTTPS,但其中两个不是。 显然我们知道混合内容的问题,我们不喜欢在门户网站中拥有非https网站的想法,但我们没有选择。 一切都还可以,直到几天前谷歌将chrome更新到版本30,现在无声地阻止混合内容。这给我们带来了很多问题。 我们联系了外部服务,并询问他们是否可以将他们的服务升级到HTTPS,其中一人回来说他们没有计划在接下来的两年内这样做。 显然这是一个问题。 我们尝试通过将此服务打开到新的浏览器窗口来解决问题,但这是一个相当不优雅的解决方法,如果可能的话我想摆脱它。 有没有什么方法可以使用AJAX或PHP来预取相关页面,然后在没有Chrome阻止它的门户网站iframe中显示它? 我会非常感谢任何建议。 我确实理解将安全内容与非安全内容混合是多么糟糕,但我没有选择,因为我的经理坚持认为该服务必须是门户网站的一部分。 提前致谢。 问候 亚历克斯

如何在fancybox iframe中显示ajax响应

我有2个jsp的products.jsp和viewcart.jsp。现在我试图使用fancybox在iframe中显示购物车(viewcart.jsp)。 当我点击添加到购物车,iframe不会弹出。 这就是我所做的。 我应该如何将ajax响应传递给iframe? $(document).ready(function(){ $(‘.cart’).click(function() { var pdtid = $(this).attr(‘data-productid’); $.ajax({ url : ‘${pageContext.request.contextPath}/addtocart’ + pdtid, dataType: ‘json’, type : ‘GET’, data :{‘id’: pdtid}, success: function(response) { $.fancybox(response,{ ‘width’ : 900, ‘height’ : 520, ‘autoScale’ : false, ‘transitionIn’ : ‘elastic’, ‘transitionOut’ : ‘elastic’, ‘type’ : ‘iframe’, ‘href’ : “${pageContext.request.contextPath}/viewcart.html” }); } }); }); }); […]

fancybox 2 iframe大小不变

我正在使用fancybox打开外部url。 我把这个代码用于fancybox-html类a href: $(document).ready(function() { $(“.fancybox-html”).fancybox({ fitToView : false, width : ‘90%’, height : ‘90%’, autoSize : false, closeClick : false, openEffect : ‘none’, closeEffect : ‘none’ }); }); HTML: <!– –> 这不起作用,iframe以不同的方式打开,就像它忽略了我的设置。 是否可以调试它? 也许我错过了一些图书馆。 有任何想法吗?

访问IFrame内的按钮

我正在寻找一种方法来访问iFrame中的按钮,并在另一个域中的iFrame内单击该按钮时触发单击事件。 尝试更深入地了解iFrame中的元素已经certificate是困难的。 到目前为止有没有人取得成功?

fancybox 2 iframe加载问题

我在最近推出的网站上遇到了fancybox 2的问题。 我使用我的页面上的链接在fancybox灯箱中打开galleria(galleria.io)画廊和PDF文件。 对于照片画廊(galleria),我在fancybox iframe中加载另一个网页,我正在定义明确的缩略图,所以所有全尺寸的照片不必立即加载。 对于PDF内容,我直接在iframe中加载PDF文件。 但是,通常情况下,第一次点击链接时iframe不会出现(永久加载动画)。 关闭fancybox并再次单击链接可以加载内容。 这适用于广场和PDF内容。 我开发和测试该网站主要在FF但似乎问题发生在IE也。 在搜索了互联网的答案之后,我发现的最接近的问题是stackoverflow: /问题/ 4710023 / jQuery的的fancybox – 工作 – 但只-时任您点击这个图像,两次 (尝试交换与此处发布的解决方案相似的条款,但在iframe内部生成404) /问题/ 9779250 /的fancybox-2需要两点击 (信息不足) /问题/ 14819642 /的fancybox粘连加载的iframefunction于即 (指IE,但禁用预载声音很有希望,我即将试一试) 我是一个家庭建设者,而不是代码建设者,所以我确信在建立我的网站的过程中我做错了。 我很感激任何提供的帮助! 谢谢! 链接到示例: (在开发中)画廊页面: http : //www.sonahomes.com/gallery/ (现场)主页: http : //www.sonahomes.com [主页上方的页脚上有“精选列表”,其中包含PDF和照片库的链接……最右边的列表加载了一个带有19的图库相片] 码: 链接到iframe中打开PDF: PDF Flyer 链接到iframe中的open galleria gallery: 19 Photos (我知道上面的galleria链接中的额外div不完全正确,但我不认为它与问题有关,因为同样的问题发生在上面链接的图库页面上,只有文本链接) 使用fancybox在页面上初始化: $(document).ready(function() { $(“.various”).fancybox({ […]