你好,这是我的测试页面的样子:蓝色区域是父页面,绿色区域是运行ExtJS应用程序的IFrame(内部带有标签的简单视口(viewport))。如果网站在触摸设备(iPad、Android平板电脑等)上运行,则无法通过在IFrame(绿色区域)上“删除”来滚动页面。必须删除蓝色区域才能滚动页面。这在ExtJSv4.2.1中一直正常工作(见下面的链接)。测试站点:https://skaface.leo.uberspace.de/ScrollTest/Ext510/(未按预期工作,使用ExtJSv5.1.1)https://skaface.leo.uberspace.de/ScrollTes
我有一个在“外部”页面(不同域等)上的iframe内运行的应用程序。为了允许iframe和父级之间进行一些基本的通信,我在父级页面上加载了我的一些脚本并使用postMessage进行一些跨文档消息传递。大多数情况下,这种通信会按预期进行,但有时我会看到一些错误报告给了我的错误跟踪工具,但我无法弄清楚为什么会发生这些错误。下面是一些示例代码:PluginOnParent.js//...window.addEventListener('message',function(e){//Checkmessageoriginetc...if(e.data.type==='iFrameRequest
所以我有一个主页(a)和一个预览页(b)通过iframe嵌入到主页中。页面(b)触发了一个特殊事件:$(document).trigger('preview.compiled');现在我想让主页(a)监听这个事件然后做一些事情:$('iframe').contents().on('preview.compiled',function(){console.log('Success');});但是,上面的代码不起作用。有什么想法吗? 最佳答案 jQuery的trigger()仅触发通过其自身实例的.on()添加的回调。因此,您的ifra
我想知道如何在FirefoxWebExtension中使用JavaScript访问和修改跨域iframe的内容。我了解普通JavaScript的局限性,并且修改跨域iframe将是一个XSS漏洞,但我相信在我找不到的WebExtension中有一些方法可以做到这一点。我相信这是因为遗留扩展list在权限部分有允许跨域内容的选项。当查看旧版FireFox扩展的旧代码时,似乎有某些网站的跨域内容选项,如下所示。尽管对于新的FireFoxWebExtension,这不是文档中列出的功能。"cross-domain-content":["https://www.example.com"]这是我
在我的网络应用程序中,我有不同z索引的iframe。我正在检测iframe中某些元素的touchstart事件。但是,如果我有一个文本输入字段与捕获touchstart的元素重叠,则输入字段开始表现不正常:在该字段中再次点击会使它失去焦点,您无法选择任何文本,但是您可以在文本字段中输入。似乎唯一的解决方案可能是停止捕获背景框架上的touchstart事件。我更喜欢像透明div这样的解决方案来作为中介捕获事件,但我还没有得到它的工作。还有其他解决方法吗?示例页面位于jsfiddle,但这是代码:iframe{position:absolute;}#background{border:so
有没有人知道当document.domain已更改时在IE中的页面上创建about:blankiframe的任何解决方法?在更改document.domain属性后,IE似乎不允许访问空/动态iframe。例如,假设您正在动态创建一个iframe,然后向其中注入(inject)一些html://Somewhereelse,some3rdpartycodechangesthedomain//fromsomething.foo.comtofoo.comdocument.domain='jshell.net';variframe=document.createElement('iframe'
我计划为我的网络应用程序构建一个模块系统,该系统使用沙盒iframe和postMessageAPI来安全地运行自定义用户模块。iframe会阻止所有DOM访问,并且只能通过我提供的接口(interface)进行通信,该接口(interface)会检查某些权限并提供数据。系统本身非常简单,可以很好地与模块内的vanillajs代码配合使用,但是我希望允许开发人员使用通用框架/库来简化开发,即通过使用Vue进行数据绑定(bind)。为模块提供此类功能的最佳方式是什么?性能是一个很大的因素,因为几十个这样的模块可能同时运行。让沙盒模块共享库安全吗? 最佳答案
我需要在Web应用程序中实现网页中存在的元素和iframe中的元素之间的拖放功能(在你开始提示iframe之前,出于技术原因我需要它,这不是一个选项)。我在页面中有一些元素可以拖到iframe内的目标可放置元素中。我已经设法用jQueryUI和YUI做到了,尽管这两个库都存在同样的问题:目标元素(可放置目标)坐标被误解,两个库考虑的放置区域都是错误的,并不代表实际可放置的对象,因此被拖动的对象和放置的元素之间的碰撞完全困惑了。这就像库看到可放置元素位于它有效所在的另一个位置。我认为这是由于iframe没有位于页面的左上角,而是位于中间。我认为这是因为我读过很多人提示这个问题,如果ifr
我有一个带有iframe的页面。iframe的页面和源位于不同的域中。在iframe中,我使用了一个名为CuteEditor的富文本编辑器(事实证明它并不那么可爱)。CuteEditor中有某些javascript函数试图访问“文档”,但浏览器拒绝访问,因为它们不在同一个域中。这是确切的错误:Permissiondeniedtoaccessproperty'document'http://dd.byu.edu/plugins/cuteeditor_files/Scripts/Dialog/DialogHead.jsLine1编辑javascript是不可能的,因为它已经被缩小和混淆,所
基本上,我加载了一个iframe,只要它触发onload事件,就会从父级访问它。它工作正常,但当iframe的内容不再位于同一域中时,我会收到错误消息,这是可以预料的。唯一的问题是,我想抑制这些错误。不幸的是,try/catch不会捕获此异常,并且尝试访问这些属性中的任何一个以验证它们会再次产生相同的错误,从而破坏了目的。有没有一种可靠的方法可以简单地检查iframe内容是否可访问而不产生任何错误消息?谢谢编辑:为了上下文而不是让人们回答不相关的评论;我正在编写一个小脚本,它根据iframe文档的高度自动调整父页面上iframe的大小。当用户单击iframe内指向域外的链接时,我显然无